/home/matstani/weblog

programming log.

[Clojure] iTextでPDFファイル作成(ウェブアプリケーション)

CompojureベースのClojureウェブアプリケーションで、iTextを利用したPDFファイル出力を行う手順をメモします。(ファイルに保存する例はこちら。)
例として、SQLiteデータベースから従業員データを読み取り、PDFファイルとして出力することを考えてみます。

テスト用プロジェクト作成

1
2
$ lein new compojure try-itext-compojure
$ cd try-itext-compojure

project.clj:dependencies[com.itextpdf/itextpdf "5.4.4"] [com.itextpdf/itext-asian "5.2.0"] [org.xerial/sqlite-jdbc "3.7.2"] [korma "0.3.0-RC5"]を追記します。

1
$ lein deps

データベース準備

1
2
3
4
5
$ mkdir db
$ sqlite3 db/try-itext.sqlite3 "CREATE TABLE employees (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)"
$ sqlite3 db/try-itext.sqlite3 "INSERT INTO employees (name) VALUES ('名無 一郎');"
$ sqlite3 db/try-itext.sqlite3 "INSERT INTO employees (name) VALUES ('名無 二郎');"
$ sqlite3 db/try-itext.sqlite3 "INSERT INTO employees (name) VALUES ('名無 三郎');"

サンプルコード

handler.clj

起動

1
$ lein ring server-headless

ブラウザでlocalhost:3000にアクセスするとPDFファイルが表示されます。

Comments