Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengautomasikan Pencetakan PDF ke Pencetak Tertentu Tanpa Interaksi Pengguna?

Bagaimanakah Saya Boleh Mengautomasikan Pencetakan PDF ke Pencetak Tertentu Tanpa Interaksi Pengguna?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-23 22:13:09194semak imbas

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

Gunakan pustaka Google Pdfium untuk merealisasikan pencetakan automatik fail PDF

Soalan:

Fail PDF yang dijana oleh aplikasi desktop perlu dicetak. Bagaimanakah saya boleh menghantar fail ini terus ke pencetak tanpa campur tangan pengguna?

Penyelesaian:

Pustaka Google Pdfium (pakej .NET bernama PdfiumViewer) menyediakan penyelesaian untuk mencetak dokumen PDF dengan lancar. Berikut ialah panduan langkah demi langkah:

1. Pasang pakej PdfiumViewer NuGet:

Dalam projek Visual Studio, pasang pakej PdfiumViewer NuGet melalui pengurus pakej NuGet.

2. Buat tetapan pencetak:

Bina objek PrinterSettings dan PageSettings untuk menentukan pencetak sasaran dan saiz kertas.

3 Muatkan dokumen PDF:

Gunakan PdfDocument.Load(nama fail) untuk memuatkan fail PDF yang akan dicetak.

4. Cipta dokumen cetakan:

Gunakan document.CreatePrintDocument() untuk menjana objek PrintDocument untuk menyambungkan dokumen PDF dengan tetapan pencetak.

5. Cetak dokumen:

Akhir sekali, laksanakan printDocument.Print() untuk memulakan proses pencetakan.

Contoh pelaksanaan:

Coretan kod berikut menunjukkan cara mencetak berbilang salinan fail PDF secara senyap:

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengautomasikan Pencetakan PDF ke Pencetak Tertentu Tanpa Interaksi Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn