IronPrint는Printer.ShowPrintDialog(): 네이티브 OS 인쇄 대화 상자를 열고, 사용자의 프린터 및 용지 설정을 캡처한 후, 문서를 인쇄 대기열로 전송하는 하나의 메서드를 제공합니다. 하나의 NuGet 패키지를 설치하고 한 줄의 코드를 작성하십시오.
프린트 대화 상자는 사용자가 인쇄하기 전에 프린터를 선택하고, 사본 수를 설정하고, 페이지 범위를 선택하고, 용지 옵션을 조정할 수 있는 표준 OS 창입니다. 사용자에게 이 제어 기능을 제공해야 하는 데스크톱 애플리케이션이 주된 사용 사례입니다.
빠른 시작: 대화 상자와 함께 인쇄하기
NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPrint 설치하기
PM > Install-Package IronPrint
다음 코드 조각을 복사하여 실행하세요.
using IronPrint;
// Display the print dialog and print the document
Printer.ShowPrintDialog("document.pdf");
Printer.ShowPrintDialog() 메서드는 운영 체제의 기본 PRINT 대화 상자를 엽니다. 사용자는 프린터 선택, 사본 수, 페이지 범위, 방향 및 용지 크기와 같은 전체 인쇄 옵션을 확인할 수 있습니다. 사용자는 인쇄를 클릭하여 작업을 보내거나 인쇄하지 않고 대화 상자를 닫기 위해 취소를 클릭합니다.
내부적으로, 네이티브 .NET 방식은 System.Windows.Forms.PrintDialog 인스턴스를 생성하고, 이를 PrintDocument에 연결하며, PrintPage 이벤트를 처리하여 PRINT 그래픽 표면에 콘텐츠를 그리며, DialogResult를 확인한 후 PrintDocument.Print()를 호출해야 합니다. 그 설정은 일반적으로 15–25줄의 코드로 실행됩니다. 또한 기본 PDF 또는 이미지 렌더링(네이티브 대화 상자를 통해 PDF를 인쇄한다는 것은 PDF를 그릴 수 있는 페이지로 먼저 구문 분석해야 함을 의미하며, 이는 또 다른 라이브러리가 필요함)을 포함하지 않습니다.
IronPrint는 전체 파이프라인을 한 번의 호출로 처리합니다.
입력
ShowPrintDialog로 전달된 quarterly-report.pdf는 KPI 지표 카드와 사업부별 매출 표가 포함된 기업용 3분기 재무 요약 문서로, PRINT 대화 상자로 전송되는 일반적인 비즈니스 문서를 나타냅니다.
using IronPrint;
// Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf");
Imports IronPrint
' Open the print dialog and print
Printer.ShowPrintDialog("quarterly-report.pdf")
$vbLabelText $csharpLabel
산출
ShowPrintDialog으로 열리는 분기별 보고서의 네이티브 인쇄 대화 상자.
이 메서드는 string 형식의 파일 경로 또는 byte[] 형식의 원시 파일 데이터를 인수로 받습니다. IronPrint는 문서 형식을 감지하고 적절한 엔진을 통해 렌더링한 다음 대화 상자를 표시합니다. 사용자가 확인하면 선택한 설정으로 문서가 인쇄됩니다. 문서 인쇄 튜토리얼에서는 전체 인쇄 수명 주기에 대해 자세히 설명합니다.
대화 상자 설정을 사전 구성하려면 어떻게 해야 하나요?
PrintSettings 객체를 생성하여 두 번째 매개변수로 전달함으로써 대화 상자가 열리기 전에 기본값을 설정할 수 있습니다. 대화 상자는 이 값이 미리 선택된 상태로 열리며 사용자는 그대로 수락하거나 설정을 변경할 수 있습니다.
입력
A4 세로 방향 설정으로 미리 로드된 invoice.pdf: 전문 청구서에는 라인 항목, 할인, 세금 및 송금 지침이 포함되어 있으며, 애플리케이션이 이미 필요한 용지 크기와 방향을 알고 있는 현실적인 문서를 보여줍니다.
using IronPrint;
// Pre-configure default dialog settings
var settings = new PrintSettings
{
PrinterName = "HP LaserJet Pro",
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300,
NumberOfCopies = 2,
Grayscale = false
};
// Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings);
Imports IronPrint
' Pre-configure default dialog settings
Dim settings As New PrintSettings With {
.PrinterName = "HP LaserJet Pro",
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300,
.NumberOfCopies = 2,
.Grayscale = False
}
' Open the dialog with pre-filled settings
Printer.ShowPrintDialog("invoice.pdf", settings)
$vbLabelText $csharpLabel
산출
사전 구성된 A4 세로 방향 설정으로 열리는 네이티브 인쇄 대화 상자.
이는 응용 프로그램이 예상되는 프린터나 용지 형식을 미리 알고 있을 때 유용합니다. 예를 들어, 항상 특정 감열 프린터로 영수증을 인쇄하는 POS(판매 시점 관리) 시스템은 해당 장치를 기본값 PrinterName으로 설정할 수 있습니다. 사용자는 대화 상자에서 이를 변경할 수 있는 옵션을 여전히 가지고 있습니다.
시스템에서 사용 가능한 프린터를 확인하려면 Printer.GetPrinterNames()을 호출하면 되며, 이 함수는 설치된 모든 프린터의 List<string>을 반환합니다. 마찬가지로, Printer.GetPrinterTrays()는 지정된 프린터에서 사용 가능한 용지함을 반환합니다.
구성 가능한 속성의 전체 목록에는 PrinterName, PaperSize, PaperOrientation, Dpi, NumberOfCopies, Grayscale, PaperMargins, Flatten(PDF 양식 필드용) 및 Tray가 포함됩니다. 인쇄 설정 안내서는 각 속성을 코드 예제와 함께 다룹니다. PrintSettings에 설정되지 않은 모든 속성은 선택한 프린터의 표준 구성으로 기본 설정됩니다.
비동기적으로 대화 상자를 표시하려면 어떻게 해야 하나요?
Printer.ShowPrintDialogAsync() 메서드는 Task를 반환하므로, await와 호환됩니다. 이는 UI 스레드를 차단하는 대화 상자를 방지하며, 이는 WPF, MAUI 및 고정된 인터페이스가 사용자 경험을 저하시킬 수 있는 애플리케이션에 필수적입니다.
입력
비동기로 대기 중인 report.pdf: IT 인프라 및 보안 보고서로 구성된 장문 형식의 문서를 나타내며, 파일이 로드되는 동안 비차단 대화 상자 프레젠테이션을 유지하여 UI 응답성을 유지할 수 있습니다.
using IronPrint;
// Open the print dialog asynchronously
await Printer.ShowPrintDialogAsync("report.pdf");
Imports IronPrint
' Open the print dialog asynchronously
Await Printer.ShowPrintDialogAsync("report.pdf")
$vbLabelText $csharpLabel
산출
ShowPrintDialogAsync를 통해 비동기적으로 열리는 네이티브 인쇄 대화 상자, 콘솔이 비차단 실행을 확인합니다.
ShowPrintDialogAsync()는 동기식 버전과 동일한 매개변수를 받습니다. 즉, 파일 경로나 바이트 배열, 그리고 선택적인 PrintSettings 객체입니다. 비동기 패턴은 최신 .NET 개발 전반에 걸쳐 사용되는 작업 기반 비동기 패턴을 따릅니다.
IronPrint는 WinForms, WPF, MAUI, 콘솔 응용 프로그램 전반에서 작동합니다. 대화 상자 모양은 호스트 플랫폼 및 운영 체제 버전에 맞게 조정되므로 사용자는 항상 예상하는 기본 인쇄 창을 보게 됩니다.
언제 대화 상자를 사용하고 언제 무음 인쇄를 사용해야 하나요?
사용자가 각 작업 전에 프린터 설정을 선택해야 할 때는 대화 상자를 사용하십시오; 문서 간에 인간의 결정이 필요 없는 자동화된 워크플로에는 무음 인쇄를 사용하십시오.
기준
대화 상자와 함께 인쇄
무음 인쇄
사용자 상호작용
사용자가 프린터, 사본, 페이지 범위를 선택함
상호 작용 없음; prints immediately
~에 가장 적합함
데스크톱 앱, 일회성 인쇄, 사용자 친화적 기능
배치 작업, 백그라운드 서비스, 키오스크 앱
프린터 선택
사용자가 대화 상자에서 선택
PrintSettings을 통해 프로그래밍 방식으로 설정
IronPrint 메서드
Printer.ShowPrintDialog()
Printer.Print()
비동기 변형
ShowPrintDialogAsync()
PrintAsync()
잘못된 프린터가 재료를 낭비하는 모든 작업에서 보고서 내보내기, 송장 인쇄 및 대화 상자가 적합한 후보입니다. 무음 인쇄는 문서 간 인간의 결정이 필요 없는 자동화된 워크플로에 적합합니다.
인쇄 대화 상자가 지원하는 파일 형식은 무엇입니까?
Printer.ShowPrintDialog()은 무음 인쇄와 동일한 형식(PDF, PNG, TIFF, JPEG, GIF, HTML, BMP)을 지원합니다. 형식에 관계없이 파일 경로를 전달하면 IronPrint가 렌더링 및 인쇄 스풀러 통신을 처리합니다. byte[] 형식의 파일 데이터도 허용되며, 이는 문서가 메모리에서 생성되거나 데이터베이스에서 가져올 때 유용합니다.
입력
monthly-report.pdf 파일이 byte[]로 읽어지며, 이는 대화 상자로 전송되기 전에 데이터베이스에서 검색되거나 메모리 내에서 생성된 문서를 나타냅니다.
using IronPrint;
// Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png");
// Print from a byte array
byte[] reportData = File.ReadAllBytes("monthly-report.pdf");
Printer.ShowPrintDialog(reportData);
Imports IronPrint
' Print an image with the dialog
Printer.ShowPrintDialog("product-photo.png")
' Print from a byte array
Dim reportData As Byte() = File.ReadAllBytes("monthly-report.pdf")
Printer.ShowPrintDialog(reportData)
$vbLabelText $csharpLabel
산출
위의 예에서 볼 수 있듯이 대화 상자가 열립니다. 형식 감지는 자동으로 이루어집니다. 파일 경로를 전달하든 byte[]를 전달하든, IronPrint는 문서를 렌더링하고 동일한 기본 대화 상자를 표시합니다.
코드 예제 페이지에서 추가적인 형식별 시나리오를 보여줍니다. PDF 전용 워크플로(참고: PDF 생성 및 즉시 인쇄)를 위해 IronPDF가 IronPrint와 자연스럽게 짝을 이룹니다.
다음 단계
대화 상자를 사용한 PRINT는 크게 두 가지 방법으로 나뉩니다: Printer.ShowPrintDialog()는 동기식 호출을, Printer.ShowPrintDialogAsync()는 비차단 실행을 위한 방법입니다. PrintSettings을 사용하여 기본값을 미리 설정하고, 사용자가 이를 바탕으로 조정할 수 있도록 하십시오. 두 가지 방법 모두 IronPrint의 문서 형식을 지원하며 WinForms, WPF, MAUI 및 콘솔 프로젝트 전반에서 작동합니다.