Maison >développement back-end >C++ >Comment puis-je automatiser l'impression PDF sur une imprimante spécifique sans interaction de l'utilisateur ?
Utilisez la bibliothèque Google Pdfium pour réaliser l'impression automatique de fichiers PDF
Question :
Les fichiers PDF générés par l'application de bureau doivent être imprimés. Comment puis-je envoyer ces fichiers directement à l’imprimante sans intervention de l’utilisateur ?
Solution :
La bibliothèque Google Pdfium (package .NET nommé PdfiumViewer) fournit une solution pour imprimer de manière transparente des documents PDF. Voici un guide étape par étape :
1. Installez le package PdfiumViewer NuGet :
Dans le projet Visual Studio, installez le package PdfiumViewer NuGet via le gestionnaire de packages NuGet.
2. Créer les paramètres de l'imprimante :
Construisez les objets PrinterSettings et PageSettings pour définir l’imprimante cible et le format de papier.
3. Charger le document PDF :
Utilisez PdfDocument.Load(filename) pour charger le fichier PDF à imprimer.
4. Créer un document imprimé :
Utilisez document.CreatePrintDocument() pour générer un objet PrintDocument afin de connecter le document PDF aux paramètres de l'imprimante.
5. Imprimer le document :
Enfin, exécutez printDocument.Print() pour démarrer le processus d'impression.
Exemple de mise en œuvre :
L'extrait de code suivant montre comment imprimer silencieusement plusieurs copies d'un fichier PDF :
<code class="language-csharp">public bool PrintPDF(string printer, string paperName, string filename, int copies) { try { var printerSettings = new PrinterSettings { PrinterName = printer, Copies = (short)copies }; var pageSettings = new PageSettings(printerSettings) { Margins = new Margins(0, 0, 0, 0) }; foreach (PaperSize paperSize in printerSettings.PaperSizes) { if (paperSize.PaperName == paperName) { pageSettings.PaperSize = paperSize; break; } } using (var document = PdfDocument.Load(filename)) { using (var printDocument = document.CreatePrintDocument()) { printDocument.PrinterSettings = printerSettings; printDocument.DefaultPageSettings = pageSettings; printDocument.PrintController = new StandardPrintController(); printDocument.Print(); } } return true; } catch { return false; } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!