HTMLからPDF生成ソフトPrince xml
XML、XHTML、HTMLをPDFに変換してくれる。有償。よくできていると思います。
Windows版もLinux版もMac版もある。
特につまづくところもなく、日本語を含むPDFが出力できた。
公式サイト
インストール
Windows版はインストーラーがある。
Linuxの場合は自分でコンパイルしてもよい。
# yum install links pdftohtml wv tidy html2ps html2text # wget http://www.princexml.com/download/prince-7.1-linux.tar.gz # tar xfzv prince-7.1-linux.tar.gz # cd prince-7.1-linux # ./install.sh
OSに合うRPMがあったら利用してもよい。
# cd /usr/local/src/ # wget http://www.princexml.com/download/prince-7.1-1.centos52.i386.rpm # rpm -i prince-7.1-1.centos52.i386.rpm
使ってみる
日本語フォントを用意 → 例えば、IPAフォントを/usr/share/fonts/IPAfont00302/ipagp.ttfのような場所に保存
HTML中で使用する画像はHTTPで取得もできる。ローカルに保存したものでも大丈夫。
HTMLを用意 → 下のようなHTMLをtest.htmlとして保存
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>HTMLをPDFに変換</title> <style type="text/css"> @font-face { font-family: "sample"; font-style: normal; font-weight: normal; src: url("/usr/share/fonts/IPAfont00302/ipagp.ttf"); } @page {size: A4 landscape;} body {font-family: "sample";} </style> </head> <body> <h1>見出し:H1</h1> <p>段落:PDFに日本語。PDFに日本語。PDFに日本語。PDFに日本語。PDFに日本語。</p> <p>画像を配置:<img src="/tmp/test.gif" /></p> <table border="1" style="margin:0 auto;"> <tr><th>見出し1</th><th>見出し2</th><th>見出し3</th></tr> <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr> <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr> <tr><td>内容1</td><td>内容2</td><td>内容3</td></tr> </table> <p>「高」の漢字も、「髙」の漢字もちゃんと出力される</p> </body> </html>
princeコマンドでPDFに変換
prince test.html test.pdf
出来上がったPDF → こちら
@font-face を使ってフォントを指定できる。
OS側のフォントの設定などにあまり依存しないでHTMLを書き、PDFにすることができた。
ライセンスなしで使用すると、書類の隅にPDF中にロゴが入る。
フォントの指定も、レイアウトの調節も特に難しいところはない。
公式サイトのデモは数式の表示や図形やSVGの使用などもっとすごい。
コメント