フッターコンテンツにスキップ
IRONPRINTの使用

C#でネットワークプリンターを使って印刷する方法

ネットワーク プリンターでのプログラムによる印刷は、さまざまなソフトウェア アプリケーションで共通のタスクです。 デスクトップ、モバイル アプリケーション、Web サービスなどを構築する場合でも、ドキュメントをネットワーク プリンターに直接送信できれば、ソフトウェアの使いやすさと効率性が大幅に向上します。 この記事では、C# とIron SoftwareIronPrintを使用してネットワーク プリンターに印刷する方法について説明します。

C# でネットワーク プリンターを使用して印刷する方法

  1. IronPrintを使用してドキュメントを印刷するための新しいプロジェクトを作成します。
  2. 新しいプロジェクトにIronPrintをインストールします。
  3. ドキュメントの印刷に使用できるネットワーク プリンターを一覧表示します。
  4. IronPrintを使用して PDF ドキュメントを印刷します。
  5. IronPrint with Dialog を使用して PDF ドキュメントを印刷します。
  6. 印刷設定による高度な印刷。

環境の設定

コーディング部分に進む前に、環境が正しく設定されていることを確認しましょう。 C# でネットワーク プリンターに印刷するには、次のものが必要です。

  1. C# アプリケーションが実行されるマシンからネットワーク プリンターにアクセスできることを確認します。
  2. プリンターのネットワーク アドレス (IP アドレスまたはネットワーク プリンター名)。
  3. 必要なプリンタードライバーがマシンにインストールされている。
  4. 必要に応じてプリンターまたはドライバーをインストールするための管理者権限。

IronPrint

実装の詳細に入る前に、IronPrint の使用を開始する方法を確認しましょう。

1.インストール: IronPrintはNuGetパッケージマネージャーを使用して簡単にインストールできます。 NuGet ページにアクセスし、インストール手順に従ってください。 2.ドキュメント:クイックスタートガイドと包括的なAPIリファレンスについては、公式ドキュメントを参照してください。

互換性とサポート: IronPrint は、さまざまな環境とプロジェクト タイプにわたって広範な互換性とサポートを提供します。

  • .NETバージョンのサポート: IronPrint は、 .NET 8、7、6、5、および Core 3.1 以降を含む、C#、VB .NET 、および F# をサポートしています。 *オペレーティングシステムと環境:* IronPrintは、Windows (7以降)、macOS (10以降)、iOS (11以降)、およびAndroid API 21以降 (v5 "Lollipop")と互換性があります。 プロジェクトの種類:**モバイル (Xamarin、MAUI、Avalonia)、デスクトップ (WPF、MAUI、Windows Avalonia)、コンソール アプリケーションの開発に関わらず、 IronPrintが対応します。

それでは、次の例を使用して IronPrint で印刷する方法を見てみましょう。

using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesomeIronPrint.pdf", printSettings);
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Configure printer setting
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 220;
            printSettings.NumberOfCopies = 10;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the document
            Printer.Print("awesomeIronPrint.pdf", printSettings);
        }
    }
}
$vbLabelText   $csharpLabel

System.Printing

C# の System.Printing 名前空間には、開発者がプロ​​グラムによってプリンタ、印刷キュー、印刷サーバ、印刷ジョブとやり取りできるようにするクラスとインターフェイスが含まれています。 この名前空間内の主要なクラスとインターフェースには次のものがあります。

  1. PrintQueue: システムに接続されているプリンタまたは印刷デバイスを表します。
  2. PrintServer: ネットワーク上のプリントサーバーを表します。
  3. PrintSystemJobInfo: 印刷ジョブの状態やプロパティなど、印刷ジョブに関する情報を提供します。
  4. PrintTicket: 用紙サイズ、向き、印刷品質など、印刷ジョブの設定を表します。

System.Printing の入門: コードに入る前に、System.Printing での印刷の仕組みについて基本的な理解があることを確認しましょう。

  1. PrintQueue 選択:印刷に使用するプリンタを表す PrintQueue オブジェクトを特定する必要があります。
  2. PrintTicket 設定:オプションで、PrintTicket オブジェクトを設定して、用紙サイズ、向き、コピー数などの印刷設定を指定できます。 3.文書の印刷:最後に、印刷する文書を選択した PrintQueue に送信します。

System.Printing を使用したドキュメント印刷の実装: それでは、次の例を使用して、System.Printing を使用したドキュメントの印刷プロセスを順を追って説明します。

ソースコードは次のとおりです。

using System;
using System.IO;
using System.Printing;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";

        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;

            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();

            // Configure print settings, e.g., number of copies
            printTicket.CopyCount = 1;

            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }

        Console.WriteLine("Document sent to print queue.");
    }
}
using System;
using System.IO;
using System.Printing;

class Program
{
    static void Main(string[] args)
    {
        // Specify the path to the document to be printed on the local printer
        string documentPath = "path/to/your/document.pdf";

        // Instantiate a Printer Server object representing the local print server
        using (PrintServer printServer = new PrintServer())
        {
            // Get the default PrintQueue from the PrintServer default 
            PrintQueue defaultPrintQueue = printServer.DefaultPrintQueue;

            // Create a PrintTicket object to specify print settings (optional)
            PrintTicket printTicket = new PrintTicket();

            // Configure print settings, e.g., number of copies
            printTicket.CopyCount = 1;

            // Print the document to the default PrintQueue with the specified PrintTicket
            defaultPrintQueue.AddJob("MyPrintJob", documentPath, false, printTicket);
        }

        Console.WriteLine("Document sent to print queue.");
    }
}
$vbLabelText   $csharpLabel

IronPrint対 System.Printing

C# でネットワークプリンタを使用して印刷する方法: 図 1 - IronPrintと System.Printing の簡単な比較表

この表は、 IronPrintと System.Printing の機能と特性の概要を簡単に示しており、開発者が特定の要件とプラットフォームのターゲットに基づいて情報に基づいた意思決定を行うのに役立ちます。

ステップ1: IronPrintを使用してドキュメントを印刷するための新しいプロジェクトを作成する

以下に示すように、Visual Studio でコンソール アプリケーションを作成します。

C# でネットワークプリンタを使用して印刷する方法: 図 2 - コンソール アプリケーションの作成

プロジェクト名と場所を指定します。

C# でネットワークプリンタを使用して印刷する方法: 図 3 - プロジェクト名を指定する

.NETバージョンを選択します。

C# でネットワークプリンタを使用して印刷する方法: 図 4 - 適切な.NETバージョンを選択する

これでプロジェクトが作成され、さらにコーディングする準備が整いました。

ステップ2: 新しいプロジェクトにIronPrintをインストールする

以下に示すように、Visual Studio パッケージ マネージャーから IronPrint をインストールします。

C# でネットワークプリンタを使用して印刷する方法: 図 5 - Visual Studio パッケージマネージャを使用してIronPrintを検索する

IronPrint は、以下のコマンドを使用してインストールすることもできます。

Install-Package IronPrint

ステップ3: ドキュメントの印刷に使用できるネットワークプリンターを一覧表示する

IronPrint を使用してプリンター名を一覧表示するには、以下のコードを使用します。

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

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Get printer names using printer drivers
            List<string> printersName = Printer.GetPrinterNames();
            foreach (var printer in printersName)
            {
                Console.WriteLine(printer);
            }
        }
    }
}
using System;
using System.Collections.Generic;
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Get printer names using printer drivers
            List<string> printersName = Printer.GetPrinterNames();
            foreach (var printer in printersName)
            {
                Console.WriteLine(printer);
            }
        }
    }
}
$vbLabelText   $csharpLabel

コードの説明

  1. Printer.GetPrinterNames を使用して、利用可能なすべてのプリンタードライバーを取得します。
  2. Console.WriteLine を使用して名前を出力します。

出力

C# でネットワークプリンタを使用して印刷する方法: 図 6 - 利用可能なプリンタの出力例

ステップ4: IronPrintを使用してPDF文書を印刷する

ドキュメントをサイレントに印刷するには、以下のコードを使用します。

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print the document silently
            Printer.Print("sample.pdf");
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print the document silently
            Printer.Print("sample.pdf");
        }
    }
}
$vbLabelText   $csharpLabel

実行後、出力に示すように、ドキュメントは印刷キューに追加されます。

出力

C# でネットワークプリンタを使用して印刷する方法: 図 7 - 印刷キューにドキュメントが追加されることを示す出力例

ステップ5: IronPrint with Dialogを使用してPDF文書を印刷する

ダイアログ付きのドキュメントを印刷するには、以下のコードを使用します。

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print with Dialog
            Printer.ShowPrintDialog("sample.pdf");
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Print with Dialog
            Printer.ShowPrintDialog("sample.pdf");
        }
    }
}
$vbLabelText   $csharpLabel

コードの説明

  1. IronPrintの ShowPrintDialog を使用して、Dialog で印刷できます。
  2. ダイアログが開いたら、ドキュメントを印刷するために必要なプリンターを選択します。

出力

C# でネットワークプリンタを使用して印刷する方法: 図 8 - 正しいプリンタを選択する

ステップ6: 印刷設定による高度な印刷

IronPrint では、詳細設定によるドキュメントの印刷がサポートされています。 次のプロパティをサポートします。

  1. PaperSize:プリンターで使用される用紙サイズを指定します。
  2. PaperOrientation:用紙の向きを定義します。自動、縦向き、横向きなどです。
  3. DPI:希望する印刷解像度を1インチあたりのドット数で設定します。 デフォルト値は 300 で、商業印刷でよく使用されます。 実際の DPI はプリンターの機能によって制限される場合があります。
  4. NumberOfCopies:文書に対して印刷する同一のコピーの数を示します。
  5. PrinterName:印刷タスク用に指定されたプリンタの名前を指定します。
  6. PaperMargins:印刷の余白をミリメートル単位で指定します。
  7. Grayscale:グレースケールで印刷するかどうかを決定するブール値。 デフォルトはfalseです。

それではコード例を見てみましょう。

using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Configure custom print settings
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the required document
            Printer.Print("sample.pdf", printSettings);
        }
    }
}
using IronPrint;

namespace IronPrintDemo
{
    public class Program
    {
        public static void Main()
        {
            // Configure custom print settings
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;

            // Print the required document
            Printer.Print("sample.pdf", printSettings);
        }
    }
}
$vbLabelText   $csharpLabel

コードの説明

  1. コードは、印刷に必要なクラスとメソッドが含まれる必要な名前空間 IronPrint をインポートすることから始まります。
  2. IronPrintDemo 名前空間内に、public として宣言された Program という名前のクラスがあります。
  3. Main メソッドはプログラムのエントリ ポイントとして機能します。
  4. Mainメソッド内:
    • カスタム印刷設定を構成するために、printSettings という名前の PrintSettings オブジェクトがインスタンス化されます。
    • printSettingsDpi プロパティは 150 に設定されており、これは 1 インチあたり 150 ドットの印刷解像度を示しています。
    • printSettingsNumberOfCopies プロパティが 2 に設定されており、文書の同一のコピーが 2 つ印刷されることが指定されています。
    • printSettingsPaperOrientation プロパティが PaperOrientation.Portrait に設定されており、文書が縦向きで印刷されることを示しています。
  5. 最後に、Printer.Print メソッドが、パラメータ "sample.pdf" (印刷するドキュメントの名前) と printSettings (カスタム印刷設定) とともに呼び出されます。 このメソッドは、指定された設定を使用して印刷プロセスを処理します。

出力

C# でネットワークプリンタを使用して印刷する方法: 図 9 - 印刷キューに追加された PDF ドキュメントを示す出力例

ライセンス

Iron SoftwareIronPrintはエンタープライズ ライブラリであり、実行するにはライセンスが必要です。 IronPrint ライセンス キーを追加すると、プロジェクトは制限や透かしなしで公開されます。 ここでライセンスを購入するか、ここで30 日間の無料試用キーにサインアップしてください。

ライセンスキーを取得したら、そのキーをアプリケーションのappSettings.jsonファイルに配置する必要があります。

{
  "IronPrint.License.LicenseKey": "IRONPRINT.KEY"
}

これにより、制限や透かしなしでドキュメントが印刷されます。

結論

要約すると、 IronPrintとSystem.Printingはそれぞれ長所があり、異なるシナリオに適しています。 IronPrint は、シンプルさと汎用性を重視した合理化されたクロスプラットフォーム ソリューションを提供します。一方、System.Printing は、特に Windows ベースのアプリケーション向けにネイティブ統合と詳細な制御を提供します。 開発者は、C# プロジェクト用にこれらの印刷ライブラリを選択する際に、特定の要件とプラットフォーム ターゲットを考慮する必要があります。

IronPrintは、ユーザーフレンドリーなAPIと、様々なプラットフォームやプロジェクトタイプにわたる幅広い互換性を提供することで、.NETアプリケーション内でのドキュメント印刷を簡素化します。この記事で概説する手順に従うことで、印刷機能を.NETプロジェクトにシームレスに統合し、使いやすさと生産性を向上させることができます。 IronPrint の可能性を探り、アプリケーション内で効率的なドキュメント印刷の世界を実現しましょう。

よくある質問

C#でネットワークプリンターで印刷するにはどうすればよいですか?

C#でネットワークプリンターでドキュメントを印刷するためにIronPrintを使用できます。プログラム的に印刷タスクを処理するメソッドを使用して、ドキュメントを直接ネットワークプリンターに送信します。

C#でネットワークプリンターで印刷を設定する手順は何ですか?

まず、ネットワークプリンターへのアクセスとそのアドレスを確認します。必要なドライバーとIronPrintをNuGetパッケージマネージャーを通じてインストールします。その後、IronPrintのメソッドを使用して印刷ジョブを管理して送信します。

C#プロジェクトにIronPrintをインストールするにはどうすればよいですか?

You can install IronPrint using the NuGet Package Manager in Visual Studio or by running the command Install-Package IronPrint in the Package Manager Console.

IronPrintはど for .NETバージョンに対応していますか?

IronPrintはC#、VB.NET、F#をサポートし、.NET 8、7、6、5、およびCore 3.1+に対応しています。

IronPrintは異なるオペレーティングシステムで使用できますか?

はい、IronPrintはWindows (7+)、macOS (10+)、iOS (11+)、およびAndroid API 21+ (v5 'Lollipop') に対応しています。

IronPrintはC#のSystem.Printingとどう違いますか?

IronPrintはシンプルさに重点を置いたクロスプラットフォームソリューションを提供し、System.PrintingはWindowsベースのアプリケーションのためのネイティブ統合と制御を提供します。

IronPrintを使用して利用可能なネットワークプリンターをリストするにはどうすればよいですか?

IronPrintのメソッドPrinter.GetPrinterNames()を使用すると、利用可能なプリンタードライバーのリストを取得できます。

IronPrintで利用可能な高度な印刷オプションは何ですか?

IronPrintは、PaperSize、PaperOrientation、DPI、NumberOfCopies、PrinterName、PaperMargins、およびGrayscaleなどの高度な設定をサポートしています。

IronPrintのライセンスオプションは何がありますか?

IronPrintのライセンスは購入するか、Iron Softwareのウェブサイトで無料の30日間トライアルにサインアップできます。ライセンスキーはアプリケーションのappSettings.jsonファイルに配置されます。

コマンドライン経由でIronPrintをインストールする際のコマンドは何ですか?

コマンドライン経由でIronPrintをインストールするには、コマンド Install-Package IronPrint を使用します。

カーティス・チャウ
テクニカルライター

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

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

アイアンサポートチーム

私たちは週5日、24時間オンラインで対応しています。
チャット
メール
電話してね