>백엔드 개발 >C++ >.NET 응용 프로그램에서 PDF 인쇄를 자동화하는 방법은 무엇입니까?

.NET 응용 프로그램에서 PDF 인쇄를 자동화하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-23 22:17:12387검색

How to Automate PDF Printing from .NET Applications?

PDF 문서 인쇄 자동화 방법

PDF 문서 인쇄 자동화는 다양한 응용 프로그램에서 일반적인 작업입니다. 이 기사에서는 PDF 파일을 프린터 대기열로 효율적으로 보내고 코드에서 직접 인쇄하는 방법을 살펴봅니다.

.NET Windows Forms 접근 방식

Windows XP에서 실행되는 Windows Forms .NET 4 응용 프로그램의 한 가지 접근 방식은 명령줄을 활용하여 PDF 파일을 인쇄하는 것입니다. 이를 구현하는 방법은 다음과 같습니다.

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();
}

PdfiumViewer를 사용한 향상된 솔루션

PDF 인쇄에 특히 적합한 또 다른 옵션은 Google Pdfium 라이브러리와 해당 . NET 래퍼, PdfiumViewer. 이 오픈 소스 라이브러리는 강력한 PDF 인쇄 기능을 제공합니다.

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

이 향상된 접근 방식은 인쇄 프로세스에 대한 더 많은 제어를 제공하고 사용자 개입 없이 자동 인쇄를 가능하게 합니다.

위 내용은 .NET 응용 프로그램에서 PDF 인쇄를 자동화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.