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
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ファイルが表示されます。