Maison > développement back-end > C++ > Comment imprimer automatiquement des PDF sur une file d'attente d'imprimante spécifique ?

Comment imprimer automatiquement des PDF sur une file d'attente d'imprimante spécifique ?

DDD
Libérer: 2025-01-23 22:07:08
original
1038 Les gens l'ont consulté

How to Automatically Print PDFs to a Specific Printer Queue?

Automatisation de l'impression PDF sur une imprimante désignée

Problème : Comment un fichier PDF, créé sur le bureau d'un utilisateur, peut-il être automatiquement envoyé vers une file d'attente d'imprimante locale spécifique lors d'une action initiée par l'utilisateur ?

Solution : tirer parti de la bibliothèque PdfiumViewer

La bibliothèque Google Pdfium, ainsi que son wrapper .NET PdfiumViewer, fournissent une solution simple. Vous trouverez ci-dessous un exemple illustrant l'impression PDF silencieuse avec des paramètres personnalisables :

<code class="language-csharp">public bool PrintPDF(string printerName, string paperSizeName, string filePath, int numberOfCopies)
{
    try
    {
        // Configure printer settings
        var printerSettings = new PrinterSettings
        {
            PrinterName = printerName,
            Copies = (short)numberOfCopies
        };

        // Configure page settings
        var pageSettings = new PageSettings(printerSettings)
        {
            Margins = new Margins(0, 0, 0, 0) // Set margins to zero
        };

        // Find the specified paper size
        foreach (PaperSize paperSize in printerSettings.PaperSizes)
        {
            if (paperSize.PaperName == paperSizeName)
            {
                pageSettings.PaperSize = paperSize;
                break;
            }
        }

        // Initiate PDF printing
        using (var pdfDocument = PdfDocument.Load(filePath))
        using (var printDocument = pdfDocument.CreatePrintDocument())
        {
            printDocument.PrinterSettings = printerSettings;
            printDocument.DefaultPageSettings = pageSettings;
            printDocument.PrintController = new StandardPrintController(); //Ensures standard printing behavior
            printDocument.Print();
        }
        return true;
    }
    catch (Exception ex)
    {
        //Handle exceptions appropriately (log, display error message, etc.)
        return false;
    }
}</code>
Copier après la connexion

Considérations clés :

  • Installez le package PdfiumViewer NuGet pour utiliser cette bibliothèque.
  • Ajustez le code pour s'adapter à différents nombres de copies et configurations d'imprimante selon vos besoins.
  • La nature open source de PdfiumViewer (licence Apache 2.0) le rend adapté à diverses applications. N'oubliez pas de gérer les exceptions potentielles pour une gestion robuste des erreurs.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal