.NET FrameworkでPDFを印刷する

以下のコードスニペットは、Aspose.PDF.Drawing ライブラリとも連携します。

C#でPDFファイルを印刷 - プリンターとページ設定を使用してデフォルトプリンターにPDFファイルを印刷する

この記事では、C#でプリンターとページ設定を使用してデフォルトプリンターにPDFファイルを印刷する方法について説明します。

PdfViewer クラスを使用すると、PDFファイルをデフォルトプリンターに印刷できます。PdfViewerオブジェクトを作成し、BindPdf メソッドを使用してPDFを開きます。異なる印刷設定を指定するには、PageSettingsPrinterSettings クラスを使用します。最後に、PrintDocumentWithSettings メソッドを呼び出して、プリンターとページ設定を使用してPDFをデフォルトプリンターに印刷します。次のコードスニペットは、プリンターとページ設定を使用してデフォルトプリンターにPDFを印刷する方法を示しています。

public static void SimplePrint()
{
    // PdfViewerオブジェクトを作成
    PdfViewer viewer = new PdfViewer();

    // 入力PDFファイルを開く
    viewer.BindPdf(System.IO.Path.Combine(_dataDir, "input.pdf"));

    // 印刷のための属性を設定
    viewer.AutoResize = true;         // サイズを調整してファイルを印刷
    viewer.AutoRotate = true;         // 回転を調整してファイルを印刷
    viewer.PrintPageDialog = false;   // 印刷時にページ番号ダイアログを表示しない

    // プリンターとページ設定およびPrintDocumentのオブジェクトを作成
    System.Drawing.Printing.PrinterSettings ps = new System.Drawing.Printing.PrinterSettings();
    System.Drawing.Printing.PageSettings pgs = new System.Drawing.Printing.PageSettings();
    System.Drawing.Printing.PrintDocument prtdoc = new System.Drawing.Printing.PrintDocument();

    // プリンター名を設定
    ps.PrinterName = prtdoc.PrinterSettings.PrinterName;

    // 必要に応じてPageSizeを設定
    pgs.PaperSize = new System.Drawing.Printing.PaperSize("A4", 827, 1169);

    // 必要に応じてPageMarginsを設定
    pgs.Margins = new System.Drawing.Printing.Margins(0, 0, 0, 0);

    // プリンターとページ設定を使用して文書を印刷
    viewer.PrintDocumentWithSettings(pgs, ps);

    // 印刷後にPDFファイルを閉じる
    viewer.Close();
}

印刷ダイアログを表示するには、次のコードスニペットを使用してみてください:

System.Windows.Forms.PrintDialog printDialog = new System.Windows.Forms.PrintDialog();
if (printDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    // ドキュメント印刷コードはここに記述
    // プリンタとページ設定を使用してドキュメントを印刷
    viewer.PrintDocumentWithSettings(pgs, ps);
}