biz-Streamマニュアル PDF出力ガイド 第3章 サンプルプログラム 3.12 サンプルプログラム(7) - PDF文書の開き方の設定

3.12 サンプルプログラム(7) - PDF文書の開き方の設定

概要

3.2 サンプルプログラム(1-1) - ページレイアウトでPDFを生成』では、ページレイアウトのみで PDF を生成していました。
ページレイアウトのみで PDF を生成する場合、ページサイズや改ページについて上位アプリケーションで制御する必要がありましたが、ドキュメントレイアウトを利用することで上位アプリケーションでの制御を不要にできます。

また、ドキュメントレイアウトを利用することで、生成する PDF に対して以下の機能の追加および処理を行うことができます。

  • パスワードや開き方といった各種プロパティの設定
  • 電子署名
  • 透かし機能
  • 既存 PDF ファイルのインポート

このサンプルプログラムでは、PDF文書の開き方とPDFファイルのヘッダバージョンを設定します。



サンプル構成

項目 ファイルパス
ドキュメントレイアウトサンプル <biz-Stream_home>/sample/java/Sample7.xml サンプル1
ページレイアウトサンプル <biz-Stream_home>/sample/java/Sample7-include1.xml サンプル1
<biz-Stream_home>/sample/java/Sample7-include2.xml サンプル1
ソースサンプル <biz-Stream_home>/sample/java/Sample7.java サンプル1
出力結果サンプル <biz-Stream_home>/sample/java/Sample7.pdf サンプル1


ソースサンプル

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ページ目が選択された状態で開かれます。

サンプル7

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

サンプル7

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

サンプル7