iTextのバージョンが5.xになった際に、パッケージ名がcom.lowagie.xxxだったのが、com.itextpdf.xxxに変わりました。新しいバージョンのiTextを使おうとすると、これまでに書いたプログラムもソースを修正してコンパイルし直す必要があるので、しばらくは古いバージョンのiTextを使い続けていたのですが、時間ができたので思い切って修正作業に取り掛かりました。ところが、コンパイルが通ったプログラムを実行すると、次のようなエラーが出てしまいます。
作り直したjarをここに置いておくので、面倒な人はここから拾ってください。
#5.xになってから1年以上にもなるのに、どうしたんでしょうね。
Exception in thread "main" com.itextpdf.text.DocumentException: Font 'HeiseiMin-
W3' with 'UniJIS-UCS2-H' is not recognized.
いろいろ調べているうちに、iTextAsian.jarとiTextAsianCmaps.jarも新しいパッケージ名に対応したものを使う必要があるということが分かりました。しかし、iTextのサイトには新しいjarが置いてありません。更にいろいろ調べると、作り直すのは簡単らしいことが分かったので、やってみました。手順は次のような感じです。W3' with 'UniJIS-UCS2-H' is not recognized.
iTextAsian.jarを解凍
>jar -xf iTextAsian.jar
この操作でMETA-INFフォルダとcomフォルダができます。フォルダのリネーム
comフォルダの下にあるlowagieフォルダをitextpdfにリネームします。iTextAsian.jarの再圧縮
>jar -cf iTextAsian.jar com
comフォルダを削除して、iTextAsianCmaps.jarについても同様にして作り直します。作り直したjarをここに置いておくので、面倒な人はここから拾ってください。
#5.xになってから1年以上にもなるのに、どうしたんでしょうね。
投稿:竹形 誠司[takegata]/2011年 04月 14日 13時 03分
/更新:2011年 04月 14日 14時 13分
RE:iText(PDFライブラリ)の新しいバージョンで日本語がトラブる件
by 竹形 誠司[takegata]
新しいバージョンのiTextに合わせて帳票作成用のプログラムを修正しました。
こちらを御覧ください。
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=796#A796
こちらを御覧ください。
http://www.orquesta.org/takegata/Article/ArticleView.jsp?article_id=796#A796
投稿:竹形 誠司[takegata]/2011年 04月 19日 08時 22分
/更新:2011年 04月 19日 08時 22分