IRONPRINTの使用

C# WindowsアプリケーションでPDFファイルを印刷する方法

チャクニット・ビン
チャクニット・ビン
2024年3月26日
共有:

イントロダクション

ポータブルドキュメントフォーマット(PDF)、時にはISO 32000と呼ばれることもありますが、1992年にAdobeによって作成されたファイル形式で、オペレーティングシステム、ハードウェア、またはアプリケーションソフトウェアに依存せずにテキストのフォーマットやグラフィックを含むドキュメントを表示することを可能にします。 PDFファイルは、テキスト、フォント、ラスターイメージ、ベクターグラフィックス、その他表示に必要なデータをすべて含む、定義されたレイアウトを持つフラットドキュメントの説明です。 ポストスクリプトの上に構築されている。

.NET C# コードからPDFをプリンターに送信することで印刷プロセスを自動化すると、人間の労力を節約し、PDF ファイルの作成における一貫性を確保し、アプリに印刷機能を組み込むことができます。これにより、印刷プロセスに対する細かな制御も可能になります。

この記事では、C# WindowsアプリケーションでPDFファイルを印刷する方法をご紹介します。

C#(シーシャープ)でPDFファイルを印刷する方法; Windowsアプリケーション

  1. 新しいWindowsプロジェクトを作成する。

  2. NuGetからIronPrintライブラリをインストールします。

  3. ライブラリをインポートする。

  4. PDFファイルをインポートするコードを書く。

  5. ロジックを実装し、例外を処理する。

  6. ファイルを印刷する。

IronPrint

.NET C#アプリケーションの開発者は、印刷機能を組み込むために、IronPrintという堅牢なC#印刷ライブラリを使用できます。 IronPrint は、デスクトップ、モバイル、またはウェブアプリケーションを開発しているかどうかに関係なく、文書の印刷に信頼できるソリューションです。

IronPrintの特徴

  • IronPrintは、Windows、macOS、Android、iOSと互換性があり、これらのいずれでも問題なく動作します。 IronPrintは、ウェブアプリ、モバイルアプリ、デスクトップソフトを問わず、信頼性の高い印刷結果を保証します。
  • IronPrintを使って以下のフォーマットのドキュメントを印刷することができます:PDF、PNG、HTML、TIFF、GIF、JPEG、BITMAP。
  • IronPrintを使えば、アプリケーションコードから直接ドキュメントを印刷することができます。 印刷機能は、請求書、レポート、ラベル用に簡単に統合できます。
  • ダイアログを出さずに自動的に印刷します。 ユーザーの参加が不要なバックグラウンドジョブやバッチ処理に最適です。
  • コピー枚数、用紙サイズ、向き、DPIなどのパラメーターを調整します。 IronPrint(IronPrint)は、開発者が特定のニーズに合わせて印刷手順をカスタマイズする能力を提供する。
  • IronPrintはクラスとメソッドを通して印刷に関連する特定の機能を提供します。 開発者にとっては、正確で包括的な印刷設定によって、合理化されたAPIが保証される。
  • IronPrintは、非同期プリント、より多くのプラットフォームとの互換性、プリント機能の向上を提供します。

    スムーズなドキュメント出力が必要なアプリケーションには、IronPrint が重要なツールです。なぜなら、.NET 開発者に印刷を正確に制御する能力を提供するからです。 IronPrintは、効果的なドキュメント印刷でお客様のプログラムを強化します。 IronPrintについて詳しく知りたい場合は、このドキュメントページを参照してください。

Visual Studioで新しいプロジェクトを作成

Visual Studioアプリケーションを開き、Fileメニューをクリックします。 次に「新しいプロジェクト」を選択し、次に C# で「ウィンドウ フォーム アプリ (.NET Framework)」を選択します。

C# Windows アプリケーションでPDFファイルを印刷する方法: 図1 - Visual Studioを開き、.NET Frameworkで新しいC# Windows Form アプリプロジェクトを作成します。

プロジェクトの場所を選択した後、割り当てられたテキストフィールドにプロジェクト名を指定します。 次に、必要な.NETフレームワークを選択し、下のサンプルのように「作成」ボタンをクリックします。

C# ウィンドウズアプリケーションで PDF ファイルを印刷する方法: 図 2 - プロジェクト名と場所を選択し、次に適切な .NET Framework バージョンを選択して Create ボタンをクリックします。

次に、Visual Studioプロジェクトをどのように構成するかは、どのアプリケーションを選択するかによって異なります。 Form1.csファイルを開くだけで、コードの追加とWindows Formsアプリケーションのビルドが始まります。

コードをテストし、ライブラリを追加することができます。

IronPrintライブラリのインストール

Visual Studioツールの活用 ツールメニューからNuGet Package Managerを選択します。 パッケージ管理端末コンソールを表示するには、パッケージマネージャーインタフェースに移動する。

Install-Package IronPrint

パッケージをダウンロードしてインストールすると、進行中のプロジェクトで使用できるようになる。

C# WindowsアプリケーションでPDFファイルを印刷する方法: 図3 - NuGetパッケージマネージャーコンソールを使用してIronPrintをインストールするには、次のコマンドを使用します: Install-Package IronPrint

もう一つの選択肢は、NuGet Package Manager for Solutionsのアプローチを使うことだ。 Visual Studio では、NuGet Package Manager を使用してパッケージをソリューションに直接インストールできます。 下の図は、NuGet Package Managerの開き方を示しています。

C# WindowsアプリケーションでPDFファイルを印刷する方法: 図4 - Visual Studioで、ツール - NuGetパッケージマネージャーに進み、ソリューション用のNuGetパッケージの管理を選択します。

パッケージの検索には、NuGetウェブサイトの検索ボックスを使用します。 下のスクリーンショットのように、パッケージマネージャーで "IronPrint "を検索してください。

C# WindowsアプリケーションでPDFファイルを印刷する方法: 図5 - NuGetパッケージマネージャーの検索バーで"ironprint"を検索して、ソリューション用のManage NuGet Packageを使用してIronPrintをインストールします。プロジェクトを選択し、インストールボタンをクリックします。

添付の画像は、関連する検索結果のリストである。 これらの変更を行って、NuGet IronPrint ライブラリをコンピューターにインストールしてください。

IronPrintを使ったPDF印刷

ファイルの印刷は、IronPrint ライブラリを使用することで簡単に行えます。 最初のステップは、プロジェクト作成時に作成されるデフォルトのWindowsフォームに2つのボタンを追加して、Windowsフォームをデザインすることです。 最初のボタンは、印刷するPDF文書を選択するためのものです。 2番目のボタンは、PDF文書を印刷するためのものです。

C# WindowsアプリケーションでPDFファイルを印刷する方法: 図6 - IronPrintライブラリを使用してPDFファイルを選択し、選択したPDFを印刷するためのWindowsフォーム設計。

この例では、数行のコードでPDFファイルを印刷します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using IronPrint;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog(this);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Printer.Print(openFileDialog1.FileName.ToString());
            //or
            // Configure print setting and then Print the file
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;
            Printer.Print(openFileDialog1.FileName.ToString(), printSettings);
            // or
            Printer.ShowPrintDialog(openFileDialog1.FileName.ToString());
            }
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using IronPrint;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog(this);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Printer.Print(openFileDialog1.FileName.ToString());
            //or
            // Configure print setting and then Print the file
            PrintSettings printSettings = new PrintSettings();
            printSettings.Dpi = 150;
            printSettings.NumberOfCopies = 2;
            printSettings.PaperOrientation = PaperOrientation.Portrait;
            Printer.Print(openFileDialog1.FileName.ToString(), printSettings);
            // or
            Printer.ShowPrintDialog(openFileDialog1.FileName.ToString());
            }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Windows.Forms
Imports IronPrint
Namespace WindowsFormsApp1
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub
		Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
			openFileDialog1.ShowDialog(Me)
		End Sub
		Private Sub button2_Click(ByVal sender As Object, ByVal e As EventArgs)
			Printer.Print(openFileDialog1.FileName.ToString())
			'or
			' Configure print setting and then Print the file
			Dim printSettings As New PrintSettings()
			printSettings.Dpi = 150
			printSettings.NumberOfCopies = 2
			printSettings.PaperOrientation = PaperOrientation.Portrait
			Printer.Print(openFileDialog1.FileName.ToString(), printSettings)
			' or
			Printer.ShowPrintDialog(openFileDialog1.FileName.ToString())
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

上記のコード例でIronPrintライブラリを使用するには、まずコードに"using IronPrint"をインポートします。 次に、「ファイルを選択」ボタンをクリックすることにより、openfiledialog コントロールを介してローカルドライブで利用可能なPDFドキュメントをユーザーが選択できるようにします。 PDFファイルを選択した後、ユーザーが印刷ボタンをクリックするのを待ちます。 印刷ボタンをクリックすると、入力PDFファイルをIronPrintライブラリのPrinterクラスで利用可能なPrintメソッドに渡します。

Print メソッドを使用すると、印刷ダイアログを開くことなくPDFファイルをサイレント印刷できます。 Printメソッドにファイル名を渡した後、印刷用PDFファイルをオブジェクトにロードし、デフォルトのプリンタにファイルを送信します。 これでプリンターはPDF文書を印刷するようになる。 印刷オブジェクトにより、2種類のパラメータを渡すことができます。1つはfilename、またはデフォルトの印刷設定を使用してPDFファイルを印刷するためのファイルバイト配列です。もう1つはPrintSettingパラメータであり、ページサイズ、用紙の向き(縦向きまたは横向き)、プリンター名、用紙余白、NumberofCopies設定を使用して複数部印刷など、プリンターの設定を指定できます。

ドキュメントをサイレントで印刷したくない場合、ShowPrintDialogというメソッドを使用してPDFファイルを印刷することができます。このメソッドは印刷ダイアログメニューを開き、プリンターオプションを選択することができます。 IronPrintコードについて詳しく知るには、コード例のページを参照してください。

結論

要約すると、IronPrintはデジタル時代におけるアクセシビリティと知識の共有の強さの象徴です。 IronPrint は、幅広いトピック、ジャンル、言語を網羅する豊富な印刷された作品のコレクションにより、学者、愛好家、学生にとって貴重なリソースです。 テクノロジーを導入し、コレクションをデジタル化することで、IronPrintは世界中の人々がこれらの貴重なリソースにアクセスできるようにした。 啓蒙の道標であるIronPrintは、過去を保存し、現在を向上させ、社会が変化しても人間の創造性と知識の素晴らしさを発見するよう、未来の世代を勇気づける。

コスト効率の良いIronPrintの開発版は、価格の詳細を確認するために無料トライアルが利用可能です。他のIron Software製品について詳しく知りたい場合は、彼らのウェブサイトをご確認ください。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
.NET PDFプリンターチュートリアル:IronPrintを使う
次へ >
C# を使用してプログラムで PDF を印刷する(コード例チュートリアル)