ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

blancoPdfを使う

仕事上、blancoPdfというpdf作成ライブラリを使用することになった。
様はiTextのラッパーライブラリなのであるが、基盤の偉い人がこれを使ってねということなので勉強してみる。

セットアップ

blanco Framework: Download / ダウンロードからダウンロード。(antタスクというリンクをクリック。)ダウンロード後、解凍。

unzip blancoPdf-0.0.6-src.zip 
cd blancoPdf/
find . -name *.jar

lib.antディレクトリにblancoPdfのjarが入っているっぽい。
動作検証にgroovyでコードを書こうと思うので、$HOME/.groovy/libにコピー。
libディレクトリには関連jarファイル入っているっぽいのでここのjarファイルはすべてコピー。。

cp lib.ant/blancopdf-0.0.6.jar ~/.groovy/lib
cp lib/*.jar ~/.groovy/lib

試してみる

./test/src/blanco/pdf にサンプルコード(BlancoPdfReportTest.java)があったので、拡張子を変え内容を若干変更して実行してみる。
confフォルダがないと動かない作りになっているので、実行環境以下にtest/confフォルダを作成(別の場所から持ってきた)

cp BlancoPdfWriterTest.java BlancoPdfWriterTest.groovy
mkdir test
cp -R ../../../../conf test/
#!/usr/bin/env groovy
package blanco.pdf

import java.awt.Color
import java.io.File
import java.io.FileOutputStream

import junit.framework.TestCase
import blanco.pdf.font.BlancoPdfFontUtil
import blanco.pdf.page.valueobject.BlancoPdfPageDef
import blanco.pdf.valueobject.BlancoPdfMetrix

import com.lowagie.text.pdf.BaseFont
import com.lowagie.text.pdf.PdfContentByte

class BlancoPdfWriterTest extends TestCase {

    void testBlancoPdfWriter() throws Exception {
        new File("tmp").mkdirs()

        final BlancoPdfPageDef pageDef = new BlancoPdfPageDef()

        final BlancoPdfWriter writer = new BlancoPdfWriter(pageDef, new FileOutputStream("tmp/abc.pdf"))
        writer.pdfSetting.setConfPath("test/conf/pdf")

        final BaseFont bf = BlancoPdfFontUtil.getFont(writer.pdfSetting, "gothic")

        final BlancoPdfMetrix metrix = new BlancoPdfMetrix()

        metrix.colorText = Color.RED
        writer.drawText(PdfContentByte.ALIGN_LEFT, 30, 30, "うそうそ", bf, 30, metrix)
        metrix.setLineDash([ 3, 3 ] as float[])
        metrix.colorStroke = Color.YELLOW
        writer.drawLine(30, 30, 50, 50, metrix)

        writer.newPage()
        writer.drawText(PdfContentByte.ALIGN_LEFT, 30, 30, "うそうそ", bf, 30, metrix)

        writer.close()
    }
}

実行。

groovy ./BlancoPdfWriterTest.groovy

正常終了ならpdfが作成されているはず。

acroread tmp/abc.pdf

できた!これで帳票を作成していく予定。

広告を非表示にする