C#에서 프린터 이름을 가져오는 방법

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

시스템에 어떤 프린터가 설치되어 있는지 아는 것은 문서를 인쇄하는 .NET 애플리케이션에 공통된 전제 조건입니다. 사용자가 드롭다운에서 프린터를 선택할 수 있도록 하거나 특정 장치로 자동으로 인쇄 작업을 라우팅하는 것이 목표이든, 프로그램적으로 프린터 이름을 검색하는 것이 첫 번째 단계입니다.

IronPrint는 현재 Windows 머신에 설치된 모든 프린터를 List<string>로 반환하는 단일 정적 메소드 Printer.GetPrinterNames()을 제공합니다. 아래에서 설치, 동기 및 비동기 검색, 선택한 프린터 이름을 인쇄 작업에 입력하는 방법을 다룹니다.

Quickstart: 프린터 이름 검색

  1. 다음을 통해 IronPrint를 설치하세요: NuGet: Install-Package IronPrint
  2. 파일에 using IronPrint;을 추가하세요
  3. 프린터 이름의 List<string>을 얻기 위해 Printer.GetPrinterNames()을 호출하세요
  4. 목록을 반복하여 각 이름을 표시하거나 저장
  5. 인쇄할 때 선택한 이름을 PrintSettings.PrinterName에 전달하세요
  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPrint 설치하기

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

    using IronPrint;
    
    // Retrieve every printer installed on this machine
    List<string> printers = Printer.GetPrinterNames();
    
    foreach (var name in printers)
    {
        Console.WriteLine(name);
    }
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

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

    arrow pointer

설치된 모든 프린터 이름을 나열하는 방법은?

Printer.GetPrinterNames()은 운영 체제를 쿼리하고 모든 등록된 프린터를 List<string>로 반환합니다. 이 방법을 한 번 호출하고 결과를 반복합니다:

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

콘솔 출력

3개의 프린터가 발견되었습니다:

  • Microsoft Print to PDF
  • HP LaserJet Pro MFP M428
  • OneNote (데스크톱)

반환된 목록에는 로컬 프린터, 네트워크 프린터 및 가상 인쇄 드라이버가 포함되어 있습니다. 각 문자열은 Windows 설정 > 프린터 및 스캐너 패널에 표시된 정확한 이름과 일치하므로 인쇄 설정 구성에서 직접 사용할 수 있습니다.

프린터가 설치되지 않은 경우 메서드는 예외를 던지지 않고 빈 목록을 반환합니다. 사용자에게 옵션을 제시하기 전에 간단한 printerNames.Count 체크만으로 충분합니다.

프린터 이름을 비동기적으로 검색하는 방법은?

UI 스레드를 차단할 수 없는 애플리케이션 — WPF, MAUI 또는 ASP.NET 웹 앱 — 에서 IronPrint는 Printer.GetPrinterNamesAsync()을 제공합니다. 이 메소드는 Task<List<string>>을 반환하며, 동기식 대응물과 동일하게 작동합니다:

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

우리는 다른 비동기 API와 마찬가지로 await 호출합니다. 결과는 GetPrinterNames()에 의해 반환된 것과 동일한 List<string> 이므로 추가 파싱이나 변환이 필요 없습니다. 이 비동기 패턴은 async Task 컨트롤러 액션 및 async void 이벤트 핸들러와 자연스럽게 통합됩니다.

특정 프린터 이름으로 인쇄하는 방법은?

프린터 이름을 얻으면, 우리는 그것을 PrintSettings.PrinterName에 할당하고 설정 객체를 Printer.Print()에 전달합니다. 이렇게 하면 대화 상자를 표시하지 않고 선택한 프린터로 문서를 직접 전송합니다:

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

PrintSettingsDpi, PaperOrientation, GrayscalePaperMargins 등의 추가 속성을 지원합니다. 전체 목록은 PrintSettings API 참조인쇄 설정 안내서에서 참조하세요.

특정 프린터의 경우 Printer.GetPrinterTrays(printerName)를 사용하여 사용 가능한 용지함도 검색합니다. 이는 인쇄 작업이 특정 용지함에서 용지를 가져와야 하는 경우 유용합니다.

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

우리는 네 가지 작업을 다룰 것입니다: IronPrint 설치, GetPrinterNames()로 모든 프린터 이름 나열, GetPrinterNamesAsync()로 같은 쿼리를 비동기식으로 실행, 그리고 PrintSettings.PrinterName로 특정 프린터로 문서 라우팅.

추가 읽기와 심도 있는 예제를 위해, 다음 리소스를 탐색하세요:

무료 체험판 라이선스 받기를 통해 모든 기능을 실제 환경에서 시험하거나, 배포를 준비 중이라면 라이선스 옵션 보기.

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
샘플을 실행하세요 문서가 프린터로 전송되는 것을 지켜보세요.