Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengautomasikan Pencetakan PDF daripada Aplikasi .NET?

Bagaimana untuk Mengautomasikan Pencetakan PDF daripada Aplikasi .NET?

Susan Sarandon
Lepaskan: 2025-01-23 22:17:12
asal
386 orang telah melayarinya

How to Automate PDF Printing from .NET Applications?

Cara Mengautomasikan Mencetak Dokumen PDF

Mengautomasikan pencetakan dokumen PDF ialah tugas biasa dalam pelbagai aplikasi. Dalam artikel ini, kami meneroka cara menghantar fail PDF ke baris gilir pencetak dengan cekap dan memintanya dicetak terus daripada kod anda.

.NET Windows Forms Approach

Untuk Aplikasi Windows Forms .NET 4 yang dijalankan pada Windows XP, satu pendekatan melibatkan penggunaan baris arahan untuk mencetak fail PDF. Begini cara untuk melaksanakan ini:

using System.Diagnostics;
using System.IO;

public void SendToPrinter(string filePath)
{
    // Convert full file path to short path for command line use
    string shortPath = Path.GetShortPathName(filePath);

    // Prepare the command line arguments
    string args = $"/p \"{shortPath}\"";

    // Create a new Process object
    Process process = new Process();
    process.StartInfo.FileName = "cmd.exe";
    process.StartInfo.Arguments = "/C start " + args;
    process.StartInfo.UseShellExecute = false;
    process.StartInfo.CreateNoWindow = true;

    // Execute the command line
    process.Start();
}
Salin selepas log masuk

Penyelesaian Dipertingkat dengan PdfiumViewer

Pilihan lain, terutamanya sesuai untuk pencetakan PDF, ialah memanfaatkan perpustakaan Google Pdfium dan . Pembalut NET, PdfiumViewer. Pustaka sumber terbuka ini menyediakan keupayaan pencetakan PDF yang mantap:

using PdfiumViewer;

public bool PrintPDF(
    string printer,
    string paperName,
    string filePath,
    int copies)
{
    try {
        // Create printer settings
        var printerSettings = new PrinterSettings {
            PrinterName = printer,
            Copies = (short)copies,
        };

        // Create page settings for paper size
        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;
            }
        }

        // Print PDF document
        using (var document = PdfDocument.Load(filePath)) {
            using (var printDocument = document.CreatePrintDocument()) {
                printDocument.PrinterSettings = printerSettings;
                printDocument.DefaultPageSettings = pageSettings;
                printDocument.PrintController = new StandardPrintController();
                printDocument.Print();
            }
        }
        return true;
    } catch {
        return false;
    }
}
Salin selepas log masuk

Pendekatan dipertingkat ini memberikan lebih kawalan ke atas proses pencetakan dan membolehkan pencetakan senyap tanpa interaksi pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Mengautomasikan Pencetakan PDF daripada Aplikasi .NET?. 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