Heim >Backend-Entwicklung >C++ >Wie drucke ich PDFs automatisch in eine bestimmte Druckerwarteschlange?

Wie drucke ich PDFs automatisch in eine bestimmte Druckerwarteschlange?

DDD
DDDOriginal
2025-01-23 22:07:08995Durchsuche

How to Automatically Print PDFs to a Specific Printer Queue?

Automatisieren des PDF-Drucks auf einem bestimmten Drucker

Problem: Wie kann eine auf dem Desktop eines Benutzers erstellte PDF-Datei bei einer vom Benutzer initiierten Aktion automatisch an eine bestimmte lokale Druckerwarteschlange gesendet werden?

Lösung: Nutzung der PdfiumViewer-Bibliothek

Die Google Pdfium-Bibliothek bietet zusammen mit ihrem .NET-Wrapper PdfiumViewer eine unkomplizierte Lösung. Unten sehen Sie ein Beispiel, das den lautlosen PDF-Druck mit anpassbaren Einstellungen demonstriert:

<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>

Wichtige Überlegungen:

  • Installieren Sie das PdfiumViewer NuGet-Paket, um diese Bibliothek zu nutzen.
  • Passen Sie den Code nach Bedarf an unterschiedliche Kopienzahlen und Druckerkonfigurationen an.
  • PdfiumViewer ist aufgrund seines Open-Source-Charakters (Apache 2.0-Lizenz) für verschiedene Anwendungen geeignet. Denken Sie daran, potenzielle Ausnahmen für ein robustes Fehlermanagement zu behandeln.

Das obige ist der detaillierte Inhalt vonWie drucke ich PDFs automatisch in eine bestimmte Druckerwarteschlange?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn