Symfoware

Symfowareについての考察blog

Thinreports + JavaでPDF帳票を出力する

以前、PHPからThinreportsを使用してPDF帳票を出力してみました。
PHP 5.6 + CodeIgniter 3 + ThinreportsでPDF帳票を出力する

定義体を作成するツールはこちら。
http://www.thinreports.org/


・久しぶりにJavaを書かないと忘れる
・PDFBoxの使い方の勉強を兼ねて

という理由から、JavaからPDF出力を行うライブラリを作ってみました。

https://bitbucket.org/symfo/thinreports-java/

未実装機能が多い&結構適当な作りですし、
PDF出力に用いているPDFBoxは、まだ正式版ではない2.0系を使用しているので
実用には向きませんが。




サンプル



自分も使い方を忘れそうなのでメモしておきます。
ダウンロードに必要なjarをまとめておきました。

https://bitbucket.org/symfo/thinreports-java/downloads

解凍して出てきたjarをビルドパスに含めます。

サンプルコードはこんな感じ。


  1. import thinreports.Report;
  2. import thinreports.ReportPage;
  3. public class Test {
  4.     public static void main(String[] args) throws Exception {
  5.         
  6.         // 定義体を読み込み
  7.         Report report = new Report("sample.tlf");
  8.         
  9.         // ページを追加
  10.         ReportPage page = report.addPage();
  11.         
  12.         // 値を指定
  13.         page.item("world").setValue("Java").setStyle("fill", "#FF0000");
  14.         page.item("thinreports").setValue("Thinreports");
  15.         
  16.         
  17.         // 2ページ目
  18.         page = report.addPage();
  19.         page.item("world").setValue("Java");
  20.         page.item("thinreports").setValue("日本語テスト");
  21.         
  22.         
  23.         // pdfを生成
  24.         report.generate("sample.pdf");
  25.         
  26.     }
  27. }





使用した定義体

640_01.png


出力されるPDF

640_02.png

640_03.png


一覧表ツールは・・・定義体の構造がエグいので置いています。
なかなか良い勉強になりました。


2015.8.26追記



楕円の描画機能を実装しました。
Generator for Java 楕円の描画機能
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2015/08/23(日) 19:04:28|
  2. Java
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<Apache PDFBox 出力する文字列の幅、高さを取得する | ホーム | Apache PDFBox 扇型、円、楕円を描画する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1790-573a4851
この記事にトラックバックする(FC2ブログユーザー)