PDF ファイルを実在するプリンターに送信し印刷することは、私たちの日常生活で最も一般的なタスクの1つです。たとえば、契約書、請求書、履歴書を紙に印刷して、デバイスを使用せずにそれらを表示できるようにする必要がある場合があります。この記事では、Spire.PDF for .NET を使用して C# および VB.NET で PDF ドキュメントを印刷する方法を、次の7つの例とともに示します。 デフォルトのプリンタで PDF を印刷する 指定したプリンタで選択したページを印刷する Microsoft XPS ドキュメントライターを使用して PDF を XPS に印刷する PDF をサイレントに印刷 両面印刷モードで PDF を印刷 PDFをグレースケールで印刷 さまざまなページ範囲をさまざまなトレイに印刷する Spire.PDF for .NET をインストールします まず、Spire.PDF for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.PDF デフォルトのプリンタで PDF を印刷する 以下は、Spire.PDF for .NET を使用して C# および VB.NET の既定のプリンターで PDF ドキュメントを印刷する手順です。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PdfDocument.Print() メソッドを呼び出して、デフォルトのプリンターでドキュメントを直接印刷します。 C# VB.NET using Spire.Pdf; namespace PrintWithDefaultPrinter { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"C: UsersAdministratorDesktopsample.pdf"); //デフォルトのプリンタで印刷する doc.Print(); } } } Imports Spire.Pdf Namespace PrintWithDefaultPrinter Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("C:UsersAdministratorDesktopsample.pdf") 'デフォルトのプリンタで印刷する doc.Print() End Sub End Class End Namespace 指定したプリンタで選択したページを印刷する 以下は、Spire.PDF for .NET を使用して C# および VB.NET で指定されたプリンターで PDF ドキュメントを印刷する手順です。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PrintSettings.PrinterName プロパティを使用してプリンター名を指定します。 PrintSettings.SelectSomePages() メソッドまたは PrintSettings.SelectPageRange() メソッドを使用して、印刷する不連続ページまたは連続ページを選択します。 PdfDocument.Print() メソッドを呼び出して、印刷を実行します。 C# VB.NET using Spire.Pdf; namespace PrintWithSpecifiedPrinter { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"C:UsersAdministratorDesktopsample.pdf"); //プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル"; //印刷するページ範囲を選択する doc.PrintSettings.SelectPageRange(1, 5); //印刷する不連続ページを選択する //doc.PrintSettings.SelectSomePages(new int[] { 1, 3, 5, 7 }); //ドキュメントを印刷する doc.Print(); } } } Imports Spire.Pdf Namespace PrintWithSpecifiedPrinter Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("C:UsersAdministratorDesktopsample.pdf") 'プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル" '印刷するページ範囲を選択する doc.PrintSettings.SelectPageRange(1, 5) '印刷する不連続ページを選択する 'doc.PrintSettings.SelectSomePages(new int[] { 1, 3, 5, 7 }); 'ドキュメントを印刷する doc.Print() End Sub End Class End Namespace Microsoft XPS ドキュメントライターを使用して PDF を XPS に印刷する 以下は、C# および VB.NET で Microsoft XPS ドキュメントライターを使用して PDF を XPS に印刷する手順です。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PrintSettings.PrinterName プロパティを使用して、プリンター名を Microsoft XPSDocumentWriter に設定します。 PrintSettings.PrintToFile() メソッドを使用して、印刷ファイルのパスと名前を設定します。 PdfDocument.Print() メソッドを使用して印刷を実行します。 C# VB.NET using Spire.Pdf; namespace PrintPdfToXps { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFドキュメントをロードする doc.LoadFromFile(@"C:UsersAdministratorDesktopsample.pdf"); //プリンター名をMicrosoftXPSドキュメントライターに設定する doc.PrintSettings.PrinterName = "Microsoft XPS ドキュメントライター"; //印刷ファイルのパスと名前を設定する doc.PrintSettings.PrintToFile("PrintToXps.xps"); //Execute printing doc.Print(); } } } Imports Spire.Pdf Namespace PrintPdfToXps Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFドキュメントをロードする doc.LoadFromFile("C:UsersAdministratorDesktopsample.pdf") 'プリンター名をMicrosoftXPSドキュメントライターに設定する doc.PrintSettings.PrinterName = "Microsoft XPS ドキュメントライター" '印刷ファイルのパスと名前を設定する doc.PrintSettings.PrintToFile("PrintToXps.xps") 'Execute printing doc.Print() End Sub End Class End Namespace PDF をサイレントに印刷 以下は、Spire.PDF for .NET を使用して C# および VB.NET で PDF ドキュメントをサイレント印刷する手順です。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PrintSettings.PrinterName プロパティを使用してプリンター名を指定します。 PrintSettings.PrintController プロパティの値を StandardPrintController クラスのインスタンスに設定します。これにより、印刷プロセスが表示されなくなります。 PdfDocument.Print()メソッドを使用して印刷を実行します。 C# VB.NET using Spire.Pdf; using System.Drawing.Printing; namespace PrintPdfSilently { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"C:UsersAdministratorDesktopsample.pdf"); //プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル"; //サイレント印刷する doc.PrintSettings.PrintController = new StandardPrintController(); //ドキュメントを印刷する doc.Print(); } } } Imports Spire.Pdf Imports System.Drawing.Printing Namespace PrintPdfSilently Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("C:UsersAdministratorDesktopsample.pdf") 'プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル" 'サイレント印刷する doc.PrintSettings.PrintController = New StandardPrintController() 'ドキュメントを印刷する doc.Print() End Sub End Class End Namespace 両面印刷モードで PDF を印刷 以下は、Spire.PDF for .NET を使用して C# および VB.NET で両面印刷モードで PDF ドキュメントを印刷する手順です。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PrintSettings.PrinterName プロパティを使用してプリンター名を指定します。 PrintSettings.CanDuplex プロパティを使用して、プリンタが両面印刷をサポートしているかどうかを確認します。はいの場合、PrintSettings.Duplex プロパティを Duplex.Defatult に設定します。 PdfDocument.Print() メソッドを使用して印刷を実行します。 C# VB.NET using Spire.Pdf; using System.Drawing.Printing; namespace PrintInDuplexMode { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"C:UsersAdministratorDesktopsample.pdf"); //プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル"; //プリンタが両面印刷をサポートしているかどうかを確認する if (doc.PrintSettings.CanDuplex) { //両面印刷モードに設定する doc.PrintSettings.Duplex = Duplex.Default; //ドキュメントを印刷する doc.Print(); } } } } Imports Spire.Pdf Imports System.Drawing.Printing Namespace PrintInDuplexMode Class Program static void Main(string() args) { 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("C:UsersAdministratorDesktopsample.pdf") 'プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル" 'プリンタが両面印刷をサポートしているかどうかを確認する if (doc.PrintSettings.CanDuplex) { '両面印刷モードに設定する doc.PrintSettings.Duplex = Duplex.Default 'ドキュメントを印刷する doc.Print() } } End Class End Namespace PDF をグレースケールで印刷 以下は、Spire.PDF for .NET を使用して C# および VB.NET でグレースケールで PDF ドキュメントを印刷する手順です。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PrintSettings.PrinterName プロパティを使用してプリンター名を指定します。 PrintSettings.Color プロパティを false に設定すると、カラー PDF が白黒で印刷されます。 PdfDocument.Print() メソッドを使用して印刷を実行します。 C# VB.NET using Spire.Pdf; namespace PrintInGrayscale { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"C: UsersAdministratorDesktopsample.pdf"); //プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル"; //白黒で印刷する doc.PrintSettings.Color = false; //ドキュメントを印刷する doc.Print(); } } } Imports Spire.Pdf Namespace PrintInGrayscale Class Program Shared Sub Main(ByVal args() As String) 'PdfDocumentオブジェクトを作成する Dim doc As PdfDocument = New PdfDocument() 'PDFファイルをロードする doc.LoadFromFile("C: UsersAdministratorDesktopsample.pdf") 'プリンター名を指定する doc.PrintSettings.PrinterName = "サンプルタイトル" '白黒で印刷する doc.PrintSettings.Color = False 'ドキュメントを印刷する doc.Print() End Sub End Class End Namespace さまざまなページ範囲をさまざまなトレイに印刷する 以下は、Spire.PDF for .NET を使用して、C# および VB.NET のさまざまなトレイにさまざまなページ範囲を印刷する手順です。 PdfDocument オブジェクトを作成します。 PdfDocument.LoadFromFile() メソッドを使用して PDF ファイルをロードします。 PrintSettings.PaperSettings イベントを、用紙設定イベントのデータを提供するカスタムデリゲートに登録します。 トレイ1とトレイ2の給紙元を設定します。 PdfDocument.Print() メソッドを使用して印刷を実行します。 C# VB.NET using Spire.Pdf; using Spire.Pdf.Print; namespace PrintToDifferentTrays { class Program { static void Main(string[] args) { //PdfDocumentオブジェクトを作成する PdfDocument doc = new PdfDocument(); //PDFファイルをロードする doc.LoadFromFile(@"C:UsersAdministratorDesktopsample.pdf"); //用紙設定イベントを処理するデリゲートにPaperSettingsイベントを登録する doc.PrintSettings.PaperSettings += delegate (object sender, PdfPaperSettingsEventArgs e) { // トレイ1の給紙元を1〜10ページに設定する if (1