PDFをXPSプリンターに印刷する
Contents
[
Hide
]
以下のコードスニペットは、Aspose.PDF.Drawing ライブラリでも動作します。
C#でPDFをXPSプリンタに印刷する
PDFファイルをXPSプリンタ、またはその他のソフトプリンタに印刷するには、PdfViewer クラスを使用します。これを行うには、PdfViewer クラスのオブジェクトを作成し、BindPdf メソッドを使用してPDFファイルを開きます。PrinterSettings と PageSettings クラスを使用して異なる印刷設定を設定することができます。また、インストールされているXPSまたはその他のソフトプリンタの PrinterName プロパティを設定する必要があります。
最後に、PrintDocumentWithSettings メソッドを使用して、PDFをXPSまたはその他のソフトプリンタに印刷します。以下のコードスニペットは、PDFファイルをXPSプリンタに印刷する方法を示しています。
public static void PrintToXpsPrinter()
{
// PdfViewer オブジェクトを作成する
PdfViewer viewer = new PdfViewer();
// 入力PDFファイルを開く
viewer.BindPdf(_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();
// XPS/PDFプリンタ名を設定する
ps.PrinterName = "Microsoft XPS Document Writer";
// またはPDFプリンタを設定する
// Ps.PrinterName = "Adobe PDF";
// 必要に応じて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();
}
Choosing paper source by PDF page size
Since the 24.4 release, choosing paper source by PDF page size in the print dialog is possible. The next code snippet enables picking a printer tray based on the PDF’s page size.
This preference can be switched on and off using the ‘PdfContentEditor’ facade.
using (PdfContentEditor contentEditor = new PdfContentEditor())
{
contentEditor.BindPdf("input.pdf");
// Set the flag to choose a paper tray using the PDF page size
contentEditor.ChangeViewerPreference(ViewerPreference.PickTrayByPDFSize);
contentEditor.Save("result.pdf");
}