biz-Streamマニュアル PDF出力ガイド 第3章 サンプルプログラム 3.7 サンプルプログラム(2-4) - XMLファイルをデータソースとしてPDFを生成

3.7 サンプルプログラム(2-4) - XMLファイルをデータソースとしてPDFを生成

概要

XMLファイルをデータソースとしてPDFを生成するサンプルです。
ドキュメントレイアウトにXQueryを記述し、データ取得条件を指定します。

サンプル2-4


サンプル構成

項目 ファイルパス
ドキュメントレイアウトサンプル <biz-Stream_home>/sample/java/Sample2_xml-doc.xml サンプル1
ページレイアウトサンプル <biz-Stream_home>/sample/java/Sample2-page.xml サンプル1
ソースサンプル <biz-Stream_home>/sample/java/Sample2_xml.java サンプル1
XMLデータサンプル <biz-Stream_home>/sample/java/Sample2_xml-data.xml サンプル1
<biz-Stream_home>/sample/java/Sample2_xml-data-other.xml サンプル1
出力結果サンプル <biz-Stream_home>/sample/java/Sample2_xml.pdf サンプル1


ソースサンプル



import java.io.FileNotFoundException;
import java.io.IOException;

import com.brainsellers.pdf.PDFRuntimeException;
import com.brainsellers.xml.JaxpXML;
import com.brainsellers.xml.common.XMLSuper;

public class Sample2_xml {

    public static void main(String args[]) {
        new Sample2_xml(args);
        System.exit(0);
    }

    public Sample2_xml(String args[]) {
        try {
            // (1) 入出力共にファイル名で指定する
            XMLSuper xml = new JaxpXML(
                    "${base-dir}/sample/java/Sample2_xml-doc.xml",
                    "${base-dir}/sample/java/Sample2_xml.pdf");

            // (2) レイアウト情報(XML)の解析を行う
            xml.parse();

            // (3) 用紙サイズ、セキュリティ等の文書情報はドキュメントレイアウトで定義するので
            // アプリケーションでは設定しません。改ページ処理も必要ありません。

            // (4) ドキュメントレイアウトとは別のデータソースを指定してデータをマージし
            // PDFを出力する
            xml.setDataSource("xml-resource","${base-dir}/sample/java/Sample2_xml-data-other.xml");

            // (4') 上記setDataSourceを行わなかった場合、
            // ドキュメントレイアウトで指定されているデータソースを使用してPDFを出力する

            // (5) 座標計算を行う
            xml.calcDataSize();

            // (6) PDFを生成する
            xml.toPDF();

            // (7) PDFを出力する
            xml.close();

        } catch (PDFRuntimeException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}



出力結果

サンプル2-4