fbpx
< 戻る
印刷

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

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

オーバープリント(画面表示にも適用)

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

独自のカスタム PDF 印刷コードを作成する

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

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

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

PDF 印刷のチュートリアル

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

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