grails doc --pdf で日本語を使う
Grails 2.5
itext-2.0.8を使用しているため、itext-asianは古いものを使用する。とりあえず下記をダウンロードしてlibに入れる。
http://www.java2s.com/Code/JarDownload/iTextAsian/iTextAsian.jar.zip
フォントキャッシュを書き換えてからgrails doc --pdfさせるスクリプトを作成する。
grails create-script doc-pdf
scripts/DocPdf.groovy
import org.xhtmlrenderer.pdf.ITextRenderer import com.lowagie.text.pdf.BaseFont includeTargets << grailsScript("_GrailsDocs") setDefaultTarget("docPdf") target(docPdf:"grails doc-pdf") { // BaseFont.fontCacheを初期化 new ITextRenderer() // fontCacheをすべて日本語フォントにしてしまう def bf = BaseFont.createFont('HeiseiMin-W3', 'UniJIS-UCS2-H', BaseFont.NOT_EMBEDDED) BaseFont.fontCache.keySet().each { BaseFont.fontCache.put(it, bf) } // --pdfを指定したときと同じように動作させる argsMap.pdf = true // 丸投げ depends(docs) }
実行する。
grails doc-pdf
コード部分はゴシック、文章は明朝とかいろいろあると思うけど、とっかかりはこんな感じ。