프린터 이름을 C#에서 지정하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPrint의 PrintSettings 클래스는 인쇄 작업을 특정 프린터로 보내는 PrinterName 속성을 제공합니다. 우리는 목표 프린터의 정확한 이름을 문자열로 할당하고, 구성된 PrintSettings 객체를 IronPrint의 인쇄 메서드에 전달하면 문서는 시스템 기본이 아닌 해당 프린터로 전송됩니다.

이 가이드는 프린터 이름 설정, 실행 시 사용 가능한 프린터 검색, 다른 인쇄 설정과의 프린터 선택 결합 방법을 안내합니다.

빠른 시작: 프린터 이름 지정

  1. NuGet을 통해 IronPrint를 설치합니다: Install-Package IronPrint
  2. 파일에 using IronPrint;를 추가합니다
  3. PrintSettings 객체를 생성합니다
  4. PrinterName를 목표 프린터의 정확한 이름으로 설정합니다
  5. 설정을 Printer.Print() 또는 Printer.PrintAsync()에 전달합니다
  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPrint 설치하기

    PM > Install-Package IronPrint
  2. 다음 코드 조각을 복사하여 실행하세요.

    using IronPrint;
    
    // Print a document to a specific printer
    Printer.Print("report.pdf", new PrintSettings
    {
        PrinterName = "HP LaserJet Pro M404"
    });
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPrint 사용 시작하기

    arrow pointer

C#에서 프린터 이름을 어떻게 지정합니까?

목표 프린터는 PrintSettings 객체의 PrinterName 속성에 이름을 할당하여 지정합니다. 그런 다음 해당 객체를 Printer.Print에 전달합니다.

:path=/static-assets/print/content-code-examples/how-to/specify-printer-name/set-printer-name.cs
// 이 코드 조각은 사용할 수 없습니다!
$vbLabelText   $csharpLabel

먼저 PrintSettings를 인스턴스화하여 PrinterName = null로 초기화합니다 – 이는 운영 체제 기본 프린터를 의미합니다. 그런 다음 PrinterName를 목표 프린터의 정확한 문자열 이름으로 재정의합니다. 우리가 Printer.Print를 호출할 때 IronPrint는 작업을 해당 프린터의 대기열로 직접 보냅니다.

염두에 두어야 할 두 가지 중요한 세부 사항. 첫째, 프린터 이름은 운영 체제가 보고하는 것과 정확히 일치해야 합니다 — 이 비교는 대소문자를 구분합니다. "HP LaserJet" 대신 "hp laserjet"과 같은 불일치는 조용히 실패하거나 오류를 발생시킬 것입니다. 둘째, 사용자가 ShowPrintDialog를 통해 인쇄 대화 상자를 열면, 대화 상자 선택이 코드에서 설정된 PrinterName을(를) 덮어씁니다. 이는 설계에 따른 것입니다. 대화 상자는 사용자에게 최종 통제권을 부여합니다.

사용 가능한 프린터를 어떻게 발견합니까?

프린터 이름을 하드코딩하는 대신, Printer.GetPrinterNames()를 사용하여 런타임에 시스템을 쿼리할 수 있습니다. 이 메서드는 설치된 모든 프린터를 포함하는 List<string>을 반환합니다.

:path=/static-assets/print/content-code-examples/how-to/specify-printer-name/discover-printers.cs
// 이 코드 조각은 사용할 수 없습니다!
$vbLabelText   $csharpLabel

우리는 운영 체제가 알고 있는 모든 로컬, 네트워크, 가상 프린터(예: "Microsoft Print to PDF")를 조회하기 위해 GetPrinterNames()를 호출합니다. 그런 다음 목록을 순환하며 응용 프로그램이 요구하는 대로 인덱스, 이름 일치 또는 맞춤 논리로 프린터를 선택합니다.

이 발견 후 인쇄 패턴은 다른 기기에 배포되는 응용 프로그램에 필수적입니다. 프린터 이름을 하드코딩하는 것은 단일 컴퓨터 시나리오에 적합하지만, 프로덕션 응용 프로그램에서는 사용할 수 있는 프린터를 쿼리하여 사용자가 선택하거나 이름 규칙에 따라 프로그래밍적으로 하나를 선택해야 합니다. 전용 코드 예제는 프린터 이름 가져오기 예제를 참조하세요.

프린터 이름과 다른 설정을 어떻게 결합합니까?

PrintSettings 클래스는 용지 크기, 방향, DPI, 여백, 복사 수 및 평면화의 속성과 함께 PrinterName를 노출합니다. 우리는 모든 것을 하나의 객체로 구성합니다.

:path=/static-assets/print/content-code-examples/how-to/specify-printer-name/combined-settings.cs
// 이 코드 조각은 사용할 수 없습니다!
$vbLabelText   $csharpLabel

가독성을 위해 객체 초기화 구문을 사용합니다. PrinterName는 작업을 "Office Color Printer"로 라우팅하며, 나머지 속성은 출력 형식을 제어합니다. 300에서의 Dpi는 선명한 텍스트와 그래픽을 생성합니다. PaperMarginsMargins 생성자를 통해 상단, 오른쪽, 하단, 왼쪽의 네 개의 밀리미터 값을 허용합니다.

IronPrint는 구성 전체를 검증하고 단일 작업에서 결합된 설정을 프린터 드라이버에 제출합니다. 트레이 선택그레이스케일 모드와 같은 추가 옵션은 전체 인쇄 설정 가이드를 참조하십시오.

프린터를 선택하고 비동기적으로 인쇄하는 방법

WPF 또는 WinForms 앱과 같은 메인 스레드를 차단할 수 없는 응용 프로그램의 경우 Printer.GetPrinterNamesAsync()Printer.PrintAsync()를 사용합니다. 둘 다 Task을 반환하여 UI가 응답성을 유지합니다.

:path=/static-assets/print/content-code-examples/how-to/specify-printer-name/async-printer-select.cs
// 이 코드 조각은 사용할 수 없습니다!
$vbLabelText   $csharpLabel

이 클래스 기반 예제는 탐색 및 인쇄 논리를 재사용 가능한 서비스에 래핑합니다. 우리는 UI가 멈추지 않도록 프린터 목록을 조회하기 위해 GetPrinterNamesAsync()을 호출한 다음 PrinterName에 첫 번째 사용 가능한 프린터를 할당합니다. await Printer.PrintAsync 호출은 작업을 비동기식으로 전송합니다.

생산 시, 우리는 배송 레이블용으로 "Label"을 포함하는 프린터를 검색하거나 브랜드 문서용으로 "Color"를 포함하는 프린터를 검색하는 등의 이름 규칙과 일치하는 논리로 printers[0]를 대체할 수 있습니다. IronPrint의 비동기 메서드는 모두 동일한 PrintSettings 객체를 수용하며, 따라서 PrinterName의 동기 및 비동기 경로 간의 동작이 동일합니다.

내 다음 단계는 무엇인가요?

우리는 정적 할당에서 Printer.GetPrinterNames()를 사용한 동적 런타임 검색에 이르기까지 IronPrint의 PrintSettings.PrinterName 속성을 사용하여 C#에서 프린터 이름을 지정하는 방법을 다루었습니다. 주요 포인트: 프린터 이름은 정확히 일치해야 하고(대소문자 구분), null는 운영 체제 기본 프린터로 기본 설정되며 인쇄 대화 상자는 프로그램 선택을 덮어씁니다.

IronPrint의 기능을 계속 탐구하려면:

30일 무료 체험을 시작하여 자체 프로젝트에서 프린터 선택을 테스트하거나 프로덕션 배포를 위한 라이선스 옵션을 확인하십시오.

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'name'

Filename: sections/author_component.php

Line Number: 18

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 18
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'title'

Filename: sections/author_component.php

Line Number: 38

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 38
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Illegal string offset 'comment'

Filename: sections/author_component.php

Line Number: 48

Backtrace:

File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 48
Function: _error_handler

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

시작할 준비 되셨나요?
Nuget 다운로드 38,093 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPrint
샘플을 실행하세요 문서가 프린터로 전송되는 것을 지켜보세요.