.NET Core에서 PDF 파일 출력 방법
Contents
[
Hide
]
다음 코드 조각은 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로 변환하고 로컬 프린터의 대기열에 작업으로 추가합니다.