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

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

概要

本サンプルプログラム(2-1)ではドキュメントレイアウトでCSVファイルをデータソースに指定してPDFを生成します。


サンプル構成

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

本サンプルで読み込むCSVファイルのエンコーディングはUTF-8になっていますので、default_values.propertiesのcsv_encodingを以下のように修正して実行してください。

csv_encoding=UTF-8



ソースサンプル


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_csv {

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

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

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

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

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

            // (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