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

PDF印刷のFAQ

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

アクセス可能なプリンターを確認するには?

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 (埋め込まれていても、すべての14の標準フォント(Arial、Courier、Times New Romanなど)を標準Javaフォントを使用して印刷しようとします。フォントにカスタムエンコーディングがある場合、これは機能しない場合があります。)

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

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

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

カスタムPDF印刷コードの作成

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

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

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

PDF印刷のチュートリアル

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

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