Heim > Backend-Entwicklung > C++ > Wie kann ich den PDF-Druck auf einem bestimmten Drucker ohne Benutzerinteraktion automatisieren?

Wie kann ich den PDF-Druck auf einem bestimmten Drucker ohne Benutzerinteraktion automatisieren?

Mary-Kate Olsen
Freigeben: 2025-01-23 22:13:09
Original
197 Leute haben es durchsucht

How Can I Automate PDF Printing to a Specific Printer Without User Interaction?

Verwenden Sie die Google Pdfium-Bibliothek, um das automatische Drucken von PDF-Dateien zu realisieren

Frage:

PDF-Dateien, die von der Desktop-Anwendung generiert wurden, müssen gedruckt werden. Wie kann ich diese Dateien ohne Benutzereingriff direkt an den Drucker senden?

Lösung:

Die Google Pdfium-Bibliothek (.NET-Paket namens PdfiumViewer) bietet eine Lösung zum nahtlosen Drucken von PDF-Dokumenten. Hier ist eine Schritt-für-Schritt-Anleitung:

1. Installieren Sie das PdfiumViewer NuGet-Paket:

Installieren Sie im Visual Studio-Projekt das PdfiumViewer NuGet-Paket über den NuGet-Paketmanager.

2. Druckereinstellungen erstellen:

Erstellen Sie PrinterSettings- und PageSettings-Objekte, um den Zieldrucker und das Papierformat zu definieren.

3. PDF-Dokument laden:

Verwenden Sie PdfDocument.Load(Dateiname), um die zu druckende PDF-Datei zu laden.

4. Druckdokument erstellen:

Verwenden Sie document.CreatePrintDocument(), um ein PrintDocument-Objekt zu generieren, um das PDF-Dokument mit den Druckereinstellungen zu verbinden.

5. Dokument drucken:

Führen Sie abschließend printDocument.Print() aus, um den Druckvorgang zu starten.

Implementierungsbeispiel:

Der folgende Codeausschnitt zeigt, wie Sie mehrere Kopien einer PDF-Datei stillschweigend drucken:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich den PDF-Druck auf einem bestimmten Drucker ohne Benutzerinteraktion automatisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage