チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.PDF for .NET»印刷»C#/VB.NET:PDF ドキュメントを印刷する
2022-05-27

C#/VB.NET:PDF ドキュメントを印刷する

PDF ファイルを実在するプリンターに送信し印刷することは、私たちの日常生活で最も一般的なタスクの1つです。たとえば、契約書、請求書、履歴書を紙に印刷して、デバイスを使用せずにそれらを表示できるようにする必要がある場合があります。この記事では、Spire.PDF for .NET を使用して C# および VB.NET で PDF ドキュメントを印刷する方法を、次の7つの例とともに示します。

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: \Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.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: \Users\Administrator\Desktop\sample.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: \Users\Administrator\Desktop\sample.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:\Users\Administrator\Desktop\sample.pdf");

            //用紙設定イベントを処理するデリゲートにPaperSettingsイベントを登録する
            doc.PrintSettings.PaperSettings += delegate (object sender, PdfPaperSettingsEventArgs e)
            {
                // トレイ1の給紙元を1〜10ページに設定する
                if (1 <= e.CurrentPaper && e.CurrentPaper <= 10)
                {
                    e.CurrentPaperSource = e.PaperSources[0];
                }

                //トレイ2の給紙元を残りのページに設定する
                else
                {
                    e.CurrentPaperSource = e.PaperSources[1];
                }
            };

            //ドキュメントを印刷する
            doc.Print();
        }
    }
}
Imports Spire.Pdf
Imports Spire.Pdf.Print
 
Namespace PrintToDifferentTrays
    Class Program
        Shared  Sub Main(ByVal args() As String)
            'PdfDocumentオブジェクトを作成する
            Dim doc As PdfDocument =  New PdfDocument() 
 
            'PDFファイルをロードする
            doc.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf")
 
            '用紙設定イベントを処理するデリゲートにPaperSettingsイベントを登録する
            doc.PrintSettings.PaperSettings Function delegate(ByVal sender As Object, ByVal e As PdfPaperSettingsEventArgs) As +=
                ' トレイ1の給紙元を1〜10ページに設定する
                If 1 <= e.CurrentPaper And e.CurrentPaper <= 10 Then
                    e.CurrentPaperSource = e.PaperSources(0)
                End If
 
                'トレイ2の給紙元を残りのページに設定する
                else
                {
                    e.CurrentPaperSource = e.PaperSources(1)
                }
            End Function

 
            'ドキュメントを印刷する
            doc.Print()
        End Sub
    End Class
End Namespace

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 11336 times