Comment imprimer avec une boîte de dialogue en C
IronPrint fournit Printer.ShowPrintDialog() : une méthode qui ouvre la boîte de dialogue d'impression native du système d'exploitation, capture les sélections de l'utilisateur concernant l'imprimante et le papier, et envoie le document vers la file d'attente d'impression. Installez un package NuGet et écrivez une ligne de code.
La boîte de dialogue d'impression est la fenêtre OS standard qui permet aux utilisateurs de choisir une imprimante, de définir des copies, de choisir une plage de pages, et d'ajuster les options de papier avant de confirmer l'impression. Les applications de bureau qui doivent donner aux utilisateurs ce contrôle avant chaque travail sont le cas d'utilisation principal.
Démarrage rapide : Impression avec une boîte de dialogue
-
Installez IronPrint avec le Gestionnaire de Packages NuGet
PM > Install-Package IronPrint -
Copiez et exécutez cet extrait de code.
using IronPrint; // Display the print dialog and print the document Printer.ShowPrintDialog("document.pdf"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronPrint dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Installez la bibliothèque d'impression C# IronPrint
- Utilisez
Printer.ShowPrintDialog("filepath") - L'utilisateur sélectionne l'imprimante, les copies et la plage de pages
- Cliquez sur Imprimer pour envoyer le document à l'imprimante choisie
- Vérifiez que le document est imprimé avec les paramètres sélectionnés
Comment fonctionne la boîte de dialogue d'impression en C# ?
La méthode Printer.ShowPrintDialog() ouvre la boîte de dialogue d'impression native du système d'exploitation. L'utilisateur voit l'ensemble complet des options d'impression : choix d'imprimante, nombre de copies, plage de pages, orientation, et taille du papier. Ils cliquent sur Imprimer pour envoyer le travail, ou Annuler pour fermer la boîte de dialogue sans imprimer.
En coulisses, l'approche native .NET nécessite de créer une instance System.Windows.Forms.PrintDialog, de la connecter à un PrintDocument, de gérer l'événement PrintPage pour dessiner le contenu sur la surface graphique PRINT, de vérifier le DialogResult, puis d'appeler PrintDocument.Print(). Cette configuration nécessite habituellement 15 à 25 lignes de code. Il n'inclut pas non plus de rendu intégré pour les PDF ou les images (imprimer un PDF via le dialogue natif signifie d'abord analyser le PDF en pages dessinables, ce qui requiert une bibliothèque supplémentaire).
IronPrint gère toute la chaîne en une seule appelle :
Entrée
Le fichier quarterly-report.pdf transmis à ShowPrintDialog est un résumé financier du troisième trimestre au format d'entreprise, comprenant des fiches de mesures KPI et des tableaux de chiffre d'affaires par division. Il s'agit d'un document commercial type envoyé à la boîte de dialogue d'impression.
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-show-print-dialog-open-and-print.cs
using IronPrint;
// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");
Imports IronPrint
' Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf")
Sortie
La méthode accepte un chemin d'accès à un fichier sous la forme string ou des données brutes du fichier sous la forme byte[]. IronPrint détecte le format du document, le rend grâce au moteur approprié, et présente la boîte de dialogue. Lorsque l'utilisateur confirme, le document est imprimé avec les paramètres choisis. Le tutoriel d'impression de document décrit plus en détail l'ensemble du cycle de vie de l'impression.
Comment préconfigurer les paramètres de la boîte de dialogue ?
Nous pouvons définir des valeurs par défaut avant l'ouverture de la boîte de dialogue en créant un objet PrintSettings et en le transmettant comme deuxième paramètre. La boîte de dialogue s'ouvrira avec ces valeurs pré-sélectionnées, et l'utilisateur pourra les accepter telles quelles ou modifier n'importe quel paramètre.
Entrée
Le invoice.pdf préchargé avec les paramètres portrait A4 à 300 DPI : une facture professionnelle avec des articles, un rabais, une taxe et des instructions de virement, montrant un document réaliste où l'application connaît déjà la taille et l'orientation du papier requises.
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-preconfigure-dialog-settings.cs
using IronPrint;
// Pre-configure default dialog settings
var settings = new PrintSettings
{
PrinterName = "HP LaserJet Pro",
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300,
NumberOfCopies = 2,
Grayscale = false
};
// Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings);
Imports IronPrint
' Pre-configure default dialog settings
Dim settings As New PrintSettings With {
.PrinterName = "HP LaserJet Pro",
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300,
.NumberOfCopies = 2,
.Grayscale = False
}
' Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings)
Sortie
Cela est utile lorsque l'application connaît à l'avance l'imprimante ou le format de papier probable. Par exemple, un système de point de vente qui imprime toujours les reçus sur une imprimante thermique spécifique peut définir par défaut PrinterName ce périphérique. L'utilisateur a toujours la possibilité de le modifier dans la boîte de dialogue.
Pour découvrir quelles imprimantes sont disponibles sur le système, nous appelons Printer.GetPrinterNames(), qui renvoie une liste List<string> de toutes les imprimantes installées. De même, Printer.GetPrinterTrays() renvoie les bacs à papier disponibles pour une imprimante donnée.
La liste complète des propriétés configurables comprend PrinterName, PaperSize, PaperOrientation, Dpi, NumberOfCopies, Grayscale, PaperMargins, Flatten (pour les champs de formulaire PDF) et Tray. Le guide d'utilisation des paramètres d'impression couvre chaque propriété avec des exemples de code. Toute propriété non définie dans PrintSettings utilise par défaut la configuration standard de l'imprimante sélectionnée.
Comment afficher la boîte de dialogue de manière asynchrone ?
La méthode Printer.ShowPrintDialogAsync() renvoie un Task, ce qui la rend compatible avec await. Cela empêche le dialogue de bloquer le thread de l'interface utilisateur, ce qui est essentiel pour WPF, MAUI et toute application où une interface figée crée une mauvaise expérience utilisateur.
Entrée
Le report.pdf attendu de façon asynchrone : un rapport multi-sections sur l'infrastructure IT et la sécurité, représentant le type de document long où la présentation du dialogue non bloquante permet de garder l'interface utilisateur réactive pendant le chargement du fichier.
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-show-print-dialog-async.cs
using IronPrint;
// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");
Imports IronPrint
' Open the print dialog asynchronously
Await Printer.ShowPrintDialogAsync("report.pdf")
Sortie
ShowPrintDialogAsync() accepte les mêmes paramètres que la version synchrone : un chemin d'accès au fichier ou un tableau d'octets, ainsi qu'un objet PrintSettings facultatif. Le mode asynchrone suit le même Modèle Asynchrone Basé sur les Tâches utilisé dans tout le développement moderne .NET.
IronPrint fonctionne sur WinForms, WPF, MAUI et les applications console. L'apparence de la boîte de dialogue s'adapte à la plate-forme hôte et à la version du système d'exploitation, de sorte que l'utilisateur voit toujours la fenêtre d'impression native qu'il attend.
Quand dois-je utiliser une boîte de dialogue vs l'impression en silencieux ?
Utilisez le dialogue lorsque les utilisateurs doivent choisir les paramètres de l'imprimante avant chaque tâche; utilisez l'impression silencieuse pour les flux de travail automatisés où aucune décision humaine n'est nécessaire.
| Critères d'évaluation | Impression avec boîte de dialogue | Impression silencieuse |
|---|---|---|
| Interaction utilisateur | L'utilisateur sélectionne l'imprimante, les copies, la plage de pages | Aucune interaction; prints immediately |
| Idéal pour | Applications de bureau, impressions ponctuelles, fonctionnalités dédiées à l'utilisateur | Tâches par lot, services en arrière-plan, applications de kiosque |
| Sélection de l'imprimante | L'utilisateur choisit à partir de la boîte de dialogue | Définir par programmation via PrintSettings |
| Méthode IronPrint | Printer.ShowPrintDialog() |
Printer.Print() |
| Variante asynchrone | ShowPrintDialogAsync() |
PrintAsync() |
Les exportations de rapports, les impressions de factures, et toute tâche où la mauvaise imprimante gaspille des matériaux sont de bons candidats pour le dialogue. L'impression silencieuse s'intègre dans les flux de travail automatisés où aucune décision humaine n'est nécessaire entre les documents.
Quels formats de fichiers la boîte de dialogue d'impression supporte-t-elle ?
Printer.ShowPrintDialog() prend en charge les mêmes formats que l'impression silencieuse : PDF, PNG, TIFF, JPEG, GIF, HTML et BMP. Nous transmettons le chemin d'accès au fichier quel que soit le format, et IronPrint se charge du rendu et de la communication avec le spouleur d'impression. Les données de fichier au format byte[] sont également acceptées, ce qui est utile lorsque le document est généré en mémoire ou récupéré depuis une base de données.
Entrée
monthly-report.PDF est lu dans un byte[], représentant un document récupéré depuis une base de données ou généré en mémoire avant d'être envoyé à la boîte de dialogue.
:path=/static-assets/print/content-code-examples/how-to/print-with-dialog/print-with-dialog-print-dialog-image-and-byte-array.cs
using IronPrint;
// Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png");
// Print from a byte array
byte[] reportData = File.ReadAllBytes("monthly-report.pdf");
Printer.ShowPrintDialog(reportData);
Imports IronPrint
' Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png")
' Print from a byte array
Dim reportData As Byte() = File.ReadAllBytes("monthly-report.pdf")
Printer.ShowPrintDialog(reportData)
Sortie
Le dialogue s'ouvre comme vu dans les exemples ci-dessus. La détection du format est automatique : que l'on passe un chemin d'accès au fichier ou un byte[], IronPrint affiche le document et présente la même boîte de dialogue native.
La page d'exemples de code montre d'autres scénarios spécifiques au format. Pour les flux de travail spécifiques aux PDF (générer un PDF et l'imprimer immédiatement), IronPDF se marie naturellement avec IronPrint.
Prochaines étapes
PRINT via une boîte de dialogue se résume à deux méthodes : Printer.ShowPrintDialog() pour les appels synchrones et Printer.ShowPrintDialogAsync() pour l'exécution non bloquante. Préconfigurez les valeurs par défaut avec PrintSettings et laissez l'utilisateur les ajuster à partir de là. Les deux méthodes prennent en charge tous les formats de documents d'IronPrint et fonctionnent sur les projets WinForms, WPF, MAUI, et console.
Explorez les tutoriels IronPrint pour des explications complètes, la référence API de la classe Printer pour chaque méthode disponible, ou le guide d'utilisation des paramètres d'impression pour une configuration avancée. Le journal des modifications suit les améliorations récentes et les nouvelles fonctionnalités.
Commencez un essai gratuit de 30 jours pour tester l'impression par dialogue dans un projet en direct, aucune carte de crédit requise. Lorsque vous êtes prêt à passer commande, consultez les options de licence à partir de $999.
Questions Fréquemment Posées
Quelle est la fonction principale d'IronPrint ?
IronPrint permet aux développeurs d'afficher et de configurer une boîte de dialogue d'impression dans les applications C#, facilitant l'impression de PDFs et d'images avec des paramètres préconfigurés.
Comment puis-je afficher une boîte de dialogue d'impression en utilisant IronPrint ?
Vous pouvez afficher une boîte de dialogue d'impression dans votre application C# en utilisant la méthode ShowPrintDialog() d'IronPrint, qui offre un moyen interactif de configurer les paramètres d'impression.
IronPrint prend-il en charge l'impression asynchrone?
Oui, IronPrint prend en charge l'impression asynchrone, ce qui permet à votre application de rester réactive tout en gérant les travaux d'impression.
Puis-je préconfigurer les paramètres d'impression avec IronPrint ?
Oui, IronPrint vous permet de préconfigurer les paramètres d'impression tels que la taille du papier, l'orientation et la sélection de l'imprimante avant d'afficher la boîte de dialogue d'impression.
Est-il possible d'imprimer des images en utilisant IronPrint ?
IronPrint prend en charge l'impression à la fois de PDFs et d'images, offrant une flexibilité pour différents types de documents dans votre application C#.
Comment IronPrint améliore-t-il l'expérience de la boîte de dialogue d'impression en C# ?
IronPrint améliore l'expérience de la boîte de dialogue d'impression en permettant aux développeurs de personnaliser et de configurer facilement les paramètres d'impression, prenant en charge les opérations synchrones et asynchrones.
Quels types de documents puis-je imprimer avec IronPrint ?
Avec IronPrint, vous pouvez imprimer une variété de documents, y compris des PDFs et des images, directement depuis votre application C#.
IronPrint peut-il être intégré dans des applications C# existantes ?
Oui, IronPrint est conçu pour être facilement intégré dans des applications C# existantes, offrant un moyen simple d'ajouter une fonctionnalité de boîte de dialogue d'impression.
Quels avantages offre IronPrint aux développeurs C# ?
IronPrint offre des avantages tels que l'intégration facile, des paramètres d'impression personnalisables, la prise en charge de l'impression asynchrone et la capacité d'imprimer des PDFs et des images.
Comment IronPrint gère-t-il les différentes configurations d'imprimantes ?
IronPrint vous permet de configurer différents paramètres d'imprimante, garantissant la compatibilité avec diverses imprimantes et la personnalisation pour répondre à des besoins d'impression spécifiques.




