SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

HTMLからPDF生成ソフトPrince xml

XML、XHTML、HTMLをPDFに変換してくれる。有償。よくできていると思います。

Windows版もLinux版もMac版もある。

特につまづくところもなく、日本語を含むPDFが出力できた。

公式サイト

http://www.princexml.com/

インストール

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の使用などもっとすごい。

関連するメモ

コメント