3.12 サンプルプログラム(7) - PDF文書の開き方の設定
概要
『3.2 サンプルプログラム(1-1) - ページレイアウトでPDFを生成』では、ページレイアウトのみで PDF を生成していました。
ページレイアウトのみで PDF を生成する場合、ページサイズや改ページについて上位アプリケーションで制御する必要がありましたが、ドキュメントレイアウトを利用することで上位アプリケーションでの制御を不要にできます。
また、ドキュメントレイアウトを利用することで、生成する PDF に対して以下の機能の追加および処理を行うことができます。
- パスワードや開き方といった各種プロパティの設定
- 電子署名
- 透かし機能
- 既存 PDF ファイルのインポート
このサンプルプログラムでは、PDF文書の開き方とPDFファイルのヘッダバージョンを設定します。
サンプル構成
項目 | ファイルパス |
---|---|
ドキュメントレイアウトサンプル |
<biz-Stream_home>/sample/java/Sample7.xml
![]() |
ページレイアウトサンプル |
<biz-Stream_home>/sample/java/Sample7-include1.xml
![]() |
<biz-Stream_home>/sample/java/Sample7-include2.xml
![]() |
|
ソースサンプル |
<biz-Stream_home>/sample/java/Sample7.java
![]() |
出力結果サンプル |
<biz-Stream_home>/sample/java/Sample7.pdf
![]() |
ソースサンプル
import java.io.FileNotFoundException; import java.io.IOException; import com.brainsellers.xml.JaxpXML; import com.brainsellers.xml.common.XMLSuper; import com.brainsellers.xml.page.PDFEngine; public class Sample7 { public static void main(String[] args) { new Sample7(); System.exit(0); } public Sample7() { try { // (1) 出力先をファイル名で指定する PDFEngine pdf = new PDFEngine("${base-dir}/sample/java/Sample7.pdf"); // (2) レイアウトXMLファイルパスと出力先を指定する XMLSuper xml = new JaxpXML("${base-dir}/sample/java/Sample7.xml", pdf); // (3) PDFヘッダーバージョンを設定する pdf.setHeaderVersion("1.5"); // (4) 開き方・ページ番号を設定する // 初期表示するページ番号 (ページ数がこれ以下の場合は反映されない) pdf.setInitialPageNo(8); // (5) 開き方・倍率を設定する // (5-1) PDFを開く時、実際の幅で表示する // pdf.setActualSize(); // (5-2) PDFを開く時、1ページ全体を表示する // pdf.setFitInWindow(); // (5-3) PDFを開く時、ウィンドウの幅に合わせて連続ページで表示 pdf.setFitWidth(); // (6) レイアウト情報(XML)の解析を行う xml.parse(); // (7) 開き方・ページレイアウトを設定する // (7-1) 初期表示で1ページで表示する // xml.setSinglePage(); // (7-2) 初期表示で1カラムで表示する // xml.setOneColumn(); // (7-3) 初期表示で2ページ同時表示で、奇数ページを左側に表示する xml.setTwoColumnLeft(); // (7-4) 初期表示で2ページ同時表示で、奇数ページを右側に表示する // xml.setTwoColumnRight(); // (8) 開き方・ウィンドウオプションを設定する // (8-1) 初期表示で全画面で表示する // xml.setFullScreen(); // (8-2) 初期表示でページにウィンドウサイズを合わせる // xml.setFitWindow(false); // (8-3) 初期表示でウィンドウを画面中央に配置する xml.setCenterWindow(true); // (9) 開き方・ウィンドウコントロールオプションを設定する // (9-1) 初期表示で「メニューバー」を非表示にする // xml.setHideMenuBar(true); // (9-2) 初期表示で「ツールバー」を非表示にする // xml.setHideToolBar(true); // (9-3) 初期表示で「ウィンドウコントロール」を非表示にする // xml.setHideWindowUI(true); // (9-4) 初期表示でアウトラインを表示する // xml.setUseOutlines(); // (9-5) 初期表示でサムネールを表示する xml.setUseThumbs(); // (9-6) 初期表示でアウトラインやサムネールを表示しない // xml.setUseNone(); // (10) 印刷ダイアログプリセットを設定する // (10-1)「ページの拡大縮小」をセットする true:拡大縮小する, false:なし // xml.setPrintScaling(true); // (10-2)「両面印刷モード」をセットする 0:片面, 1:両面(上下に開く), 2:両面(左右に開く) // xml.setPrintDuplex(1); // (10-3)「ページサイズに合わせて用紙選択」をセットする // xml.setPickTrayByPDFSize(true); // (10-4)「デフォルト印刷部数」をセットする // xml.setNumCopies(2); // (10-5)「印刷ページ範囲」をセットする xml.setPrintPageRange("1-2,5"); // (11) データのセットおよび座標計算を行った後、PDFを生成する xml.toPDF(); // (12) PDFを出力する xml.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
出力結果
PDFを開いた時に8ページ目が選択された状態で開かれます。

PDF のバージョンがプログラムで設定した1.5 になっています。

PDF の印刷ページ範囲が設定した「1-2,5」になっています。
