IRONSOFTWAREHOME

C# でプリンタ名を取得する方法

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

ドキュメントを印刷に送る.NETアプリでは、システム上で使用可能なプリンタを把握することが一般的な前提条件です。 ユーザーにドロップダウンからプリンタを選ばせることが目的であっても、特定のデバイスに印刷ジョブを自動でルートさせることが目的であっても、プログラムでプリンタ名を取得することが第一歩です。

IronPrintは、現在のWindowsマシンにインストールされているすべてのプリンターをPrinter.GetPrinterNames()を公開しています。 以下では、インストール、同期および非同期の取得、選択したプリンタ名を印刷ジョブに入力する方法について説明します。

クイックスタート: プリンタ名を取得
  1. NuGetを使用してIronPrintをインストールします:Install-Package IronPrint
  2. ファイルにusing IronPrint;を追加します
  3. プリンター名のPrinter.GetPrinterNames()を呼び出します
  4. リストを反復処理し、各名前を表示または保存する
  5. 印刷時に選択した名前をPrintSettings.PrinterNameに渡します
  1. 1Install IronPrint with NuGet Package Manager

    PM > Install-Package IronPrint

  2. 2このコード スニペットをコピーして実行します。

    using IronPrint;
    
    // Retrieve every printer installed on this machine
    List<string> printers = Printer.GetPrinterNames();
    
    foreach (var name in printers)
    {
        Console.WriteLine(name);
    }
    C#
  3. 3実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPrint を使い始めましょう無料トライアル
    arrow pointer

インストールされたすべてのプリンタ名を列挙するには?

List<string>として返します。 このメソッドを一度呼び出し、結果を反復処理します:

using IronPrint;
using System;
using System.Collections.Generic;

// List every installed printer
List<string> printerNames = Printer.GetPrinterNames();

Console.WriteLine($"Found {printerNames.Count} printer(s):\n");

// Print each printer name
foreach (string name in printerNames)
{
    Console.WriteLine($"  • {name}");
}

コンソール出力

3台のプリンタが見つかりました:

  ・Microsoft Print to PDF
  ・HP LaserJet Pro MFP M428
  ・OneNote (デスクトップ)
Text

返されるリストには、ローカルプリンタ、ネットワークプリンタ、仮想印刷ドライバが含まれます。 各文字列は、Windowsの設定 > プリンタとスキャナーパネルに表示される正確な名前に一致するため、印刷設定の構成で直接使用できます。

プリンタがインストールされていない場合、メソッドは例外を投げるのではなく、空のリストを返します。 ユーザーにオプションを提示する前に、簡単なprinterNames.Countチェックが必要です。

プリンタ名を非同期で取得するには?

UIスレッドをブロックすることが許されないアプリケーション-WPF、MAUI、またはASP.NETウェブアプリ - IronPrintはPrinter.GetPrinterNamesAsync()を提供します。 メソッドはTask<List<string>>を返し、その同期カウンターパートと同様に機能します:

using IronPrint;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

// Retrieve printer names asynchronously
List<string> printerNames = await Printer.GetPrinterNamesAsync();

// Print each printer name
foreach (string name in printerNames)
{
    Console.WriteLine(name);
}

他の非同期APIと同様にawaitで呼び出しを行います。 結果はList<string>であるため、追加の解析や変換は必要ありません。 この非同期パターンはasync voidイベントハンドラーと自然に統合します。

名前で特定のプリンタに印刷するには?

プリンター名を取得したら、それをPrinter.Print()に渡します。 これにより、ダイアログを表示せずに選択されたプリンタにドキュメントが直接送信されます:

using IronPrint;
using System.Collections.Generic;

// Retrieve available printers
List<string> printers = Printer.GetPrinterNames();

// Select a printer matching "LaserJet", or fall back to the first available
string targetPrinter = printers.Find(p => p.Contains("LaserJet"))
                       ?? printers[0];

// Configure print settings
PrintSettings settings = new PrintSettings
{
    PrinterName = targetPrinter,
    PaperSize = PaperSize.A4,
    NumberOfCopies = 1
};

// Print the document
Printer.Print("invoice.pdf", settings);

PaperMarginsのような追加のプロパティをサポートしています。 完全なリストはPrintSettings API reference印刷設定ハウツーガイドでご覧ください。

特定のトレイから紙を引き出す必要がある印刷ジョブで便利なPrinter.GetPrinterTrays(printerName)を使用して、指定されたプリンターの利用可能な紙トレイも取得します。

次のステップは何ですか?

以下の四つの操作をカバーしました:IronPrintのインストール、PrintSettings.PrinterNameを通じた特定のプリンターへのドキュメントのルーティング。

さらに詳しい内容や例については、これらのリソースをご参照ください:

無料トライアルライセンスを取得して、ライブ環境ですべての機能をテストするか、ライセンスオプションを見ることがサービスの準備が整ったときに可能です。

よくある質問

C#でプリンター名を取得する最も簡単な方法は?

C#でプリンター名を取得する最も簡単な方法は、IronPrint .NETを使用することです。これにより、単一のメソッド呼び出しでインストール済みのプリンターのリストを取得できます。

IronPrintを使用して非同期でプリンター名を取得できますか?

はい、IronPrint .NETは非同期操作をサポートしており、メインスレッドをブロックせずにプリンター名を取得できます。

IronPrintを使用して特定のプリンターに名前で印刷できますか?

もちろん、IronPrint .NETを使用すると、プリンター名を指定して任意のインストール済みプリンターにドキュメントを直接印刷できます。

IronPrintはすべて for .NETプラットフォームでプリンター名を取得できますか?

IronPrint .NETはさまざまな.NETプラットフォームで動作するように設計されており、異なる環境でシームレスにプリンター名を取得できます。

IronPrintはネットワーク環境でプリンター名をどのように処理しますか?

IronPrint .NETは、ローカルプリンターとネットワークプリンターの名前を取得できるため、さまざまなネットワーク構成での使用に便利です。

What additional properties can I configure with PrintSettings?

With `PrintSettings`, you can configure properties like `Dpi`, `PaperSize`, `PaperOrientation`, `Grayscale`, and `PaperMargins`.

How do I iterate over printer names in C# using IronPrint?

You can use a foreach loop to iterate over the list returned by `Printer.GetPrinterNames()`, allowing you to display or store each printer name.

Can IronPrint work with network and virtual printers?

Yes, the list returned by `Printer.GetPrinterNames()` includes local printers, network printers, and virtual print drivers.

Where can I find more information on printing settings in IronPrint?

You can refer to the [PrintSettings How-To Guide](https://ironsoftware.com/csharp/print/how-to/print-settings/) and the [API Reference](https://ironsoftware.com/csharp/print/object-reference/api/IronPrint.PrintSettings.html) for detailed information.

Does IronPrint provide support for different paper trays?

Yes, you can use `Printer.GetPrinterTrays(printerName)` to retrieve available paper trays for a given printer.

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

...
詳しく読む

準備はできましたか?

Nuget Downloads 46,090バージョン:2026.9リリースされたばかり

あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブロウズを選択し、「IronPrint」を検索します
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

  1. IronPrintをダウンロードし、解凍して、ソリューションディレクトリ内の~/Libsなどの場所に配置します。
  2. Visual Studioのソリューションエクスプローラーで参照を右クリックし、ブロウズから「IronPrint.dll」を選択。

$999からのライセンス

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。