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
Lepaskan: 2025-01-23 22:13:09
asal
155 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan