> 백엔드 개발 > C++ > 사용자 상호 작용 없이 특정 프린터로 PDF 인쇄를 자동화하려면 어떻게 해야 합니까?

사용자 상호 작용 없이 특정 프린터로 PDF 인쇄를 자동화하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-23 22:13:09
원래의
152명이 탐색했습니다.

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

Google Pdfium 라이브러리를 사용하여 PDF 파일 자동 인쇄 실현

질문:

데스크탑 애플리케이션에서 생성된 PDF 파일을 인쇄해야 합니다. 사용자 개입 없이 어떻게 이러한 파일을 프린터로 직접 보낼 수 있습니까?

해결책:

Google Pdfium 라이브러리(PdfiumViewer라는 .NET 패키지)는 PDF 문서를 원활하게 인쇄하기 위한 솔루션을 제공합니다. 단계별 가이드는 다음과 같습니다.

1. PdfiumViewer NuGet 패키지 설치:

Visual Studio 프로젝트에서 NuGet 패키지 관리자를 통해 PdfiumViewer NuGet 패키지를 설치합니다.

2. 프린터 설정 만들기:

PrinterSettings 및 PageSettings 개체를 생성하여 대상 프린터 및 용지 크기를 정의합니다.

3. PDF 문서 로드:

PdfDocument.Load(파일 이름)를 사용하여 인쇄할 PDF 파일을 로드합니다.

4. 인쇄 문서 만들기:

document.CreatePrintDocument()를 사용하여 PDF 문서를 프린터 설정과 연결하는 PrintDocument 개체를 생성합니다.

5. 문서 인쇄:

마지막으로 printDocument.Print()를 실행하여 인쇄 프로세스를 시작합니다.

구현 예:

다음 코드 조각은 PDF 파일의 여러 사본을 자동으로 인쇄하는 방법을 보여줍니다.

<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>
로그인 후 복사

위 내용은 사용자 상호 작용 없이 특정 프린터로 PDF 인쇄를 자동화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿