-
はじめに
-
JPedalを実行する
-
JPedalの使い方
-
機能
-
JPedal Viewer
- JPedalのBase ViewerでPDFを見る
- カスタマイズ可能なビューアでのPDFファイルを表示する
- JavaのコードからPDF Viewerの機能にアクセス
- Java PDF Viewerでユーザーインターフェイスをカスタマイズ
- ビューアにオブジェクトを描画
- JavaアプリケーションにPDFビューアを追加する方法
- ビューアの機能をカスタマイズする
- JPedalインスペクタでPDFファイルの内容を検査
- PDFビューアの通知ポップアップを独自のものに置き換える
- JPedal のアクセシビリティオプション
- Java PDF Viewerを使ってポートフォリオファイルを表示
- Java PDF Viewerでテキストを選択
- JPedal ViewerはJavaFXで使用できますか?
- JPedal ViewerはSWTで使用できますか?
- JPedal ビューアでダークモードを設定する
- 線の太さを非表示にする
- すべての記事を表示 ( 1 ) 記事を折り畳む
-
テキスト関連
-
画像への変換
-
画像の抽出
-
PDF画像変換のWebサービスAPI
-
フォームについて
-
PDFの注釈(アノテーション)
-
PDFの操作
-
印刷について
-
メタデータ
-
フォントについて
-
JPedalをクラウド上で実行する
-
アップデート情報
完全なチュートリアル
このチュートリアルは、Java と JPedal を使用して、5 つの簡単なステップで PDF ファイルを印刷する方法を解説しています。これらの 5 つの手順により、印刷の実行方法をより詳細に制御できるようになります。
このような詳細な制御が必要ない場合は、印刷サンプルを使用して、わずか数行のコードで PDF ファイルを印刷できます。
ステップ 1. PdfDecoder オブジェクトを作成する
まず、 PDF ファイルを表す PdfDecoder オブジェクトが必要です。必要に応じて、フォントの置換を設定する必要がある場合もあります。
暗号化PDFファイルを印刷する場合の注意事項
パスワードにパスワードが必要な場合は、setEncryptionPassword(String password) でパスワードを設定するか、以下に示す方法の代わりに openPdfFile(String filename, String passwd) を使用してファイルを開く必要があります。
PdfDecoder decodePdf = new PdfDecoder(true); //Set to true as I don't want to render it to screen in this tutorial
try {
decodePdf.openPdfFile("pdf/file/path.pdf");
FontMappings.setFontReplacements();
} catch (Exception e) {
//...
}
ステップ 2. 属性を設定する
また、指定された用紙サイズでの印刷や印刷部数など、使用する設定をプリンターに伝える AttributeSet も必要です。このチュートリアルでは、JobName 属性のみを使用します。
利用可能なさまざまな属性の詳細については、ここをクリックしてください。
PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();
JobName jobName = new JobName("Example Print", null);
attributeSet.add(jobName);
PdfDecoder クラスには、異なるサイズの用紙に印刷するかどうか、ページをどのように回転するかなど、印刷出力を調整するために呼び出すことができるメソッドが多数あります。これらの方法のうち最も一般的に使用されるものを以下に示します。
decodePdf.setPrintAutoRotateAndCenter(true);
decodePdf.setPrintPageScalingMode(PrinterOptions.PAGE_SCALING_FIT_TO_PRINTER_MARGINS);
decodePdf.setPrintPageScalingMode(PrinterOptions.PAGE_SCALING_NONE);
decodePdf.setPrintPageScalingMode(PrinterOptions.PAGE_SCALING_REDUCE_TO_PRINTER_MARGINS);
decodePdf.setPagePrintRange(1, decodePdf.getPageCount());
ステップ 3. プリンターを探す
設定した特定の属性をサポートする Java で利用可能な PrintService のリストを見つけるには、コードの次のセクションが必要になります。ここでは、プリンター名をコンソールに出力しているだけです。
PrintService[] services = PrintServiceLookup.lookupPrintServices(DocFlavor.SERVICE_FORMATTED.PAGEABLE, attributeSet);
for(PrintService s : services) {
System.out.println(s.getName());
}
どのプリンタにアクセスできるかがわかったら、以下に示すように指定された名前を持つ特定の PrintService を取得できます。
PrintService printingDevice;
for(PrintService s : services) {
if(s.getName().equals("Microsoft XPS Document Writer")) {
printingDevice = s;
}
}
ステップ 4. ページング可能な PDF を作成する
印刷可能なオブジェクトを作成するには、PdfBook オブジェクトを作成する必要があります (必要に応じて、attributes パラメーターを null にすることもできます)。これは印刷のために SimpleDoc に渡されます。
PdfBook pdfBook = new PdfBook(decodePdf, printingDevice, attributeSet);
SimpleDoc doc = new SimpleDoc(pdfBook, DocFlavor.SERVICE_FORMATTED.PAGEABLE, null);
ステップ 5. 印刷する
ここで行う必要があるのは、PrintService から DocPrintJob を受信し、 SimpleDoc と属性 (存在する場合) をメソッド入力変数として使用して PrintService 印刷メソッドを呼び出すことだけです。
DocPrintJob printJob = printingDevice.createPrintJob();
try {
printJob.print(doc, attributeSet);
} catch (PrintException e) {
//...
}
PDF 印刷のチュートリアル
このチュートリアルでは、Java ソフトウェアに Print PDF 機能を簡単に追加し、JPedal を使用してカスタマイズする方法を示します。- JPedal の高度な Java 印刷機能ついてには JPedal で利用できるさまざまな印刷の例がリストされています。
- PDF 印刷に関する FAQ には印刷に関するよくある質問とヒントがリストされています。