Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PDF印刷のよくある質問

以下は、一般的な質問とサンプルソースコードへのリンクのリストです。追加のご質問がある場合は、お問い合わせください。

利用可能なプリンターを確認する方法は?

PrinterJobクラスは印刷システムへのアクセスを提供し、こちらのコードスニペット を使用してプリンターの一覧表示と選択を行うことができます。

PDFの印刷出力がページに正しくフィットしない

Java印刷では、ユーザーはページサイズと表示可能なページサイズを設定でき、JPedalはこれを印刷に使用します。これは以下のように読み取ることができます:

PrinterJob printJob = PrinterJob.getPrinterJob();
PageFormat pf = printJob.defaultPage();

ユーザーは最適なフィット感を得るために独自のページサイズを定義することもできます:

//Create default Page format A4
Paper paper = new Paper();

//A4 borderless (setting may need adjustment)
paper.setSize(595, 842);

//the following will make part of page disappear
//paper.setImageableArea(0, 0, 595, 842);

//works on our printers
paper.setImageableArea(5, 5, 565, 812);

これらの値は、特定のプリンターに不適切な場合は無視され、画像がクリッピングされることになります。そのため、デフォルトを使用するか、さまざまなプリンターでテストしてください。

PDFプリンターを選択する方法は?

このコード は、プリンターが利用可能な場合に選択します。

プリンターはJVMフラグを使用して設定できます。JVMフラグのリストはこちら で確認できます。

PDF印刷ダイアログオプション

JPedal Viewerには、PDF文書の印刷を詳細に制御できる機能豊富な印刷パネルがあり、現在選択されている設定での出力のプレビューが表示されます。

スケーリングの設定

スケーリングを設定するには、JPedalにはorg.jpedal.objects.PrinterOptionsから定数を渡すメソッドがあります。これは印刷 前に設定する必要があります。これはプリンターダイアログから読み取ることができます。

モノクロで印刷する方法は?

このコード は、モノクロで印刷する方法を示しています。

自動回転と中央配置オプション

自動回転と中央配置オプションはデフォルトでオフですが、この のように設定できます。

自動回転または中央配置オプションは、以下のメソッドを使用して互いに独立して設定することもできます。

//Set auto rotate
PdfDecoder.setPrintAutoRotate(boolean rotate);

//Set print centering
PdfDecoder.setCenterOnScaling(boolean center);

PDF印刷ビュー

JPedalは、この のように、現在表示されているページの一部のみを印刷できます。

プリンター用紙サイズにPDFサイズを使用

用紙サイズがデフォルトとして使用されますが、PDFサイズはこの のように設定できます。

PDFページサイズの設定

PDFページサイズは通常Paperオブジェクトの一部であり、PrinterJobオブジェクトから読み取って変更できます。値はプリンターのハードコードされた制限を上書きしません。org.jpedal.examples.viewer.paper.PaperSizes クラスには、さまざまなページレイアウトの複数の設定が含まれています。常にサイズと同様に**setImageableArea()**を使用してください。印刷のために、この のように設定できます。

用紙サイズはJVMフラグを使用して設定できます。詳細はこちら で確認できます。

PDFページの向き

JPedalは、PDFページサイズに基づいて使用するLANDSCAPE/PORTRAIT設定を自動的に計算します。手動で設定しないことをお勧めします。

ページ範囲の印刷

JPedalは、現在表示されているPDFページの一部だけでなく、奇数ページまたは偶数ページのみを印刷できます。これはサンプルコード で示されています。

PDF印刷のサイズと速度の削減

これを改善するために、可能な限りJavaのフォントレンダラーを使用してプロセスを高速化するモードをいくつか追加しました。これは、メソッドorg/jpedal/PdfDecoder.html#setPrintPageMode(int) を使用して、以下のいずれかの値で有効にできます。

  • PdfDecoder.NOTEXTPRINT (デフォルトモード)
  • PdfDecoder.TEXTGLYPHPRINT (フォントが一致する場合、Javaにグリフを作成させる)
  • PdfDecoder.TEXTSTRINGPRINT (Javaにすべての作業を実行させる)
  • PdfDecoder.STANDARDTEXTSTRINGPRINT (埋め込まれている場合でも、標準のJavaフォントを使用して14の標準フォント(Arial、Courier、Times New Romanなど)すべてを印刷しようとします。フォントにカスタムエンコーディングがある場合は機能しない可能性があります。)

特にPCL印刷は非常に遅くなる可能性があり、これらのモードから恩恵を受けることがわかっていますが、すべてのプリンターで機能します。

オーバープリント(画面表示にも機能します)

追加オブジェクトの描画 では、PDF印刷出力の上に独自のオブジェクトを描画する方法(特別な注釈、著作権表示など)を説明しています。

独自のカスタムPDF印刷コードの記述

独自のカスタムコードを記述していて、PDF以前にいくつかのページを印刷しようとすると、PDF全体が印刷されません。PdfDecoderメソッドuseLogicalPrintOffset(int pagesPrinted) を使用して、すでにいくつかのページを印刷したことをJPedalに伝える必要があるかもしれません。

カスタムコードを使用したPDFフォームの印刷

CustomFormPrintインターフェースを使用すると、PDFフォームウィジェットの印刷を完全に制御し、一部またはすべてを上書きできます。カスタムインターフェースのインスタンスをJPedalに渡すと、印刷が発生したときに呼び出されます。

PDF印刷チュートリアル

チュートリアルでは、JavaソフトウェアにPDF印刷機能を簡単に追加し、JPedalでカスタマイズする方法を示しています。

  • JavaでのPDF印刷 。JPedalでPDFファイルを印刷する方法を示す簡単なチュートリアルです。