PDFからPostScriptへの変換
次のコードスニペットは、Aspose.PDF.Drawingライブラリでも動作します。
C#でのPDFからPostScriptへの変換
PdfViewerクラスは、PDF文書を印刷する機能を提供し、このクラスの助けを借りてPDFファイルをPostScript形式に変換することもできます。PDFファイルをPostScriptに変換するには、まず任意のPSプリンターをインストールし、PdfViewerの助けを借りてファイルに印刷します。PSプリンターをインストールするには、プリンターベンダーが提供する指示を参照してください。次のコードスニペットは、PDFをPostScript形式に印刷および変換する方法を示しています。
印刷ジョブのステータスを確認する
PDFファイルは、物理プリンターやMicrosoft XPS Document Writerに印刷でき、印刷ダイアログを表示せずにPdfViewerクラスを使用して印刷できます。大きなPDFファイルを印刷する場合、プロセスに時間がかかることがあるため、ユーザーは印刷プロセスが完了したか、問題が発生したかどうかを確信できないことがあります。印刷ジョブのステータスを確認するには、PrintStatusプロパティを使用します。次のコードスニペットは、PDFファイルをXPSファイルに印刷し、印刷ステータスを取得する方法を示しています。
印刷ジョブの所有者名を取得/設定する
時々、印刷ジョブの所有者名(つまり、ウェブページで印刷ボタンを押した実際のユーザー)を取得または設定する必要があります。この情報は、PDFファイルを印刷する際に必要です。この要件を満たすために、PrinterJobNameプロパティが使用されます。
インパーソネーションの使用
印刷ジョブの所有者名を取得する別のアプローチは、インパーソネーション(別のユーザーコンテキストで印刷ルーチンを実行する)を使用することです。また、ユーザーはSetJobルーチンを使用して所有者名を直接変更することもできます。
セキュリティ上の理由から、Aspose.PDF印刷APIを使用して所有者値を設定することはできませんのでご注意ください。PrinterJobNameプロパティは、スプーラ印刷アプリケーションのドキュメント名列の値を設定するために使用できます。上記のコードスニペットは、ユーザーがドキュメント名列にユーザー名を追加する方法を示しています(例えば、UserName\documentNameの構文を使用)。しかし、所有者列の設定は、ユーザーによって次の方法で直接実装できます。
- インパーソネーション。所有者列の値には印刷コードを実行するユーザーの値が含まれているため、別のユーザーコンテキスト内でAspose.PDF印刷APIを呼び出す方法があります。例えば、ここで説明されているソリューションを見てください。このインパーソネータークラスを使用することで、ユーザーは目標を達成できます。
- スプーラAPIとSetJobルーチンの使用
次のコードスニペットは、PDFファイルの一部のページを単面印刷し、他のページを両面印刷する方法を示しています。