.NET Core에서 PDF 파일 출력 방법

다음 코드 조각은 Aspose.PDF.Drawing 라이브러리와 함께 작동합니다.

.NET Core에서 Pdf 문서 인쇄

Aspose.PDF 라이브러리를 사용하면 PDF 파일을 XPS로 변환할 수 있습니다. 이 기능은 문서 인쇄를 조직하는 데 유용할 수 있습니다. 기본 프린터를 사용하는 예를 살펴보겠습니다:

class Program
{
    static void Main()
    {
        // 생성자의 ThreadStart 대리자 매개변수에 인쇄 메서드를 전달하여 보조 스레드를 생성합니다.
        Thread printingThread = new Thread(() => PrintPDF(@"C:\tmp\doc-pdf.pdf"));

        // PrintQueue.AddJob을 사용하는 스레드를 단일 스레딩으로 설정합니다.
        printingThread.SetApartmentState(ApartmentState.STA);

        // 인쇄 스레드를 시작합니다. Thread 생성자에 전달된 메서드가 실행됩니다.
        printingThread.Start();
    }//end Main

    private static void PrintPDF(string pdfFileName)
    {
        // 프린트 서버와 프린트 큐를 생성합니다.
        PrintQueue defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue();

        Aspose.Pdf.Document document = new Document(pdfFileName);
        var xpsFileName = pdfFileName.Replace(".pdf", ".xps");
        document.Save(xpsFileName,SaveFormat.Xps);

        try
        {
            // XPS 검증 및 진행 상황 알림을 제공하면서 Xps 파일을 인쇄합니다.
            PrintSystemJobInfo xpsPrintJob = defaultPrintQueue.AddJob(xpsFileName, xpsFileName, false);
            Console.WriteLine(xpsPrintJob.JobIdentifier);
        }
        catch (PrintJobException e)
        {
            Console.WriteLine("\n\t{0}을(를) 인쇄 큐에 추가할 수 없습니다.", pdfFileName);
            if (e.InnerException != null && e.InnerException.Message == "File contains corrupted data.")
            {
                Console.WriteLine("\t유효한 XPS 파일이 아닙니다. 이를 디버그하려면 isXPS Conformance Tool을 사용하세요.");
            }
            Console.WriteLine("\t다음 XPS 파일로 계속합니다.\n");
        }
    }
}//end Program class

이 예에서는 PDF 문서를 XPS로 변환하고 로컬 프린터의 대기열에 작업으로 추가합니다.