C# でpdf 印刷時のコピー数を設定する方法
書類の複数コピーを印刷することは日常的なニーズです。オリジナルと複製が必要な請求書、一括印刷される出荷ラベル、または複数の部門に配布されるレポートなどがあります。 各コピーごとにループ内で Print() を呼び出して別々の印刷ジョブを作成するのではなく、一度だけコピー数を設定し、プリンタードライバーが1つのジョブで複製を処理するという正しいアプローチがあります。
IronPrint の PrintSettings.NumberOfCopies プロパティは整数を受け入れ、指定したコピー数を1回の操作でプリンターに送信します。 当社では、インストール、基本的な使用方法、非同期ワークフロー、組み合わせ設定について以下で説明します。
クイックスタート: コピー数の設定
- NuGet を通じて IronPrint をインストールします:
Install-Package IronPrint - ファイルに
using IronPrint;を追加します PrintSettingsオブジェクトを作成します- 希望するカウントに
NumberOfCopiesを設定します - ファイルパスと共に
Printer.Print()に設定を渡します
-
IronPrint をNuGetパッケージマネージャでインストール
PM > Install-Package IronPrint -
このコード スニペットをコピーして実行します。
using IronPrint; // Print 3 copies of a PDF in one print job PrintSettings settings = new PrintSettings(); settings.NumberOfCopies = 3; Printer.Print("invoice.pdf", settings); -
実際の環境でテストするためにデプロイする
今日プロジェクトで IronPrint を使い始めましょう無料トライアル
最小限のワークフロー(5ステップ)
- IronPrint C#印刷ライブラリをインストール
PrintSettingsオブジェクトを作成NumberOfCopiesを希望するカウントに設定します- 設定を
Printer.Print()に渡す - プリンターが正しい数のコピーを生成することを確認します
サイレント印刷のためのコピー数を設定する方法
サイレント印刷は、ダイアログを表示せずにドキュメントを直接プリンターに送信します。 PrintSettings.NumberOfCopies を通じてコピー数を設定し、設定を Printer.Print() に渡します:
:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-silent-copies.cs
using IronPrint;
// Print 5 copies silently to the default printer
PrintSettings settings = new PrintSettings
{
NumberOfCopies = 5
};
Printer.Print("shipping-label.pdf", settings);
Imports IronPrint
' Print 5 copies silently to the default printer
Dim settings As New PrintSettings With {
.NumberOfCopies = 5
}
Printer.Print("shipping-label.pdf", settings)
プリンタードライバーはハードウェアレベルでコピー指示を受け取るため、5つの個別ジョブをキューに入れるよりも高速で信頼性があります。 このことは、別々のジョブが他のユーザーの書類で交互に挟み込まれる可能性のある共有ネットワークプリンターで重要です。
明示的に設定されていない場合、NumberOfCopies は 1 にデフォルト設定されます。 任意の正の整数が受け入れられますが、0 または負の値に設定しても実際的な効果はなく、ドライバーは1つのコピーに戻ります。
コピー数を他の印刷設定と組み合わせる方法
NumberOfCopies は PrintSettings の1つのプロパティです。 それを用紙余白、用紙サイズ、向き、DPI、グレースケールモード、およびプリンターの選択と1つの設定オブジェクトで組み合わせることができます:
:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-combined-settings.cs
using IronPrint;
// Full configuration: 3 copies of a landscape A4 report at 300 DPI
PrintSettings settings = new PrintSettings
{
NumberOfCopies = 3,
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Landscape,
Dpi = 300,
PaperMargins = new Margins(15),
Grayscale = false,
PrinterName = "HP LaserJet Pro MFP M428"
};
Printer.Print("Q4-report.pdf", settings);
Imports IronPrint
' Full configuration: 3 copies of a landscape A4 report at 300 DPI
Dim settings As New PrintSettings With {
.NumberOfCopies = 3,
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Landscape,
.Dpi = 300,
.PaperMargins = New Margins(15),
.Grayscale = False,
.PrinterName = "HP LaserJet Pro MFP M428"
}
Printer.Print("Q4-report.pdf", settings)
ノンブロッキングワークフローの場合、同じ PrintSettings をPrinter.PrintAsync()に渡します。
コピー数に関するプラットフォーム制限はありますか?
特定のプラットフォームでは、プリンタードライバーは NumberOfCopies に指定された正確な数を再現できないことがあります。 IronPrint ドキュメントは、プラットフォーム固有の制限が原因で、値が無視され、結果として1つのコピーとなる可能性があると示しています。 これはドライバーレベルの制約であり、IronPrint の制限ではありません。
ほとんどの印刷ワークフローの主要な対象となる Windows デスクトップアプリケーションでは、NumberOfCopies はローカルおよびネットワークプリンターの両方で確実に尊重されます。 設定を無視し続けるプリンターがある場合、そのドライバーがWindowsのプリンターのプロパティパネルを通じてコラテッドマルチコピージョブをサポートすることを確認してください。
次のステップは何ですか?
PrintSettings.NumberOfCopies を使用してコピー数を設定する方法を紹介し、サイレントおよび非同期印刷を実演し、コピー数を他の設定と組み合わせ、プラットフォーム固有の注意点を指摘しました。
さらなる学習のために、これらのリソースを探検してください:
- IronPrintチュートリアル — 印刷文書でエンドツーエンドの印刷手順を説明します。
- 印刷設定ハウツー: 余白、DPI、向きなどについて。
- PrintSettingsクラスAPIリファレンスで完全なプロパティドキュメントを確認できます。
- PrinterクラスAPIリファレンスで全ての静的印刷メソッドを確認できます。
無料トライアルライセンスを取得して、ライブ環境ですべての機能をテストするか、ライセンスオプションを見ることがサービスの準備が整ったときに可能です。

