私のプログラムは、要求に応じて比較的単純なPDFドキュメントを生成しますが、漢字や奇妙な数学記号などのUnicode文字に問題があります。通常の文字列をPDFで書き込むには、角かっこで囲みます。
(something)
8進コードで文字をエスケープするオプションもあります。
(\527)
しかし、これは最大512文字になります。上位の文字をどのようにエンコードまたはエスケープしますか?バイトストリームと16進エンコードされた文字列への参照を見たことがありますが、実際にそれを行う方法を教えてくれる参照はありません。
編集:あるいは、私のために仕事をしてくれる良いJavaPDFライブラリを教えてください。私が現在使用しているのはgnujpdfのバージョンです(元の作者はAWOLになっているように見えるので、いくつかのバグを修正しました)。これにより、AWTグラフィックスインターフェイスに対してプログラミングできます。同じ。
代替案は、HTML-> PDFか、HTMLに非常によく似た段落とボックスに基づくプログラムモデルのいずれかであるように思われます。iTextは後者の例です。これは私の既存のコードを書き直すことを意味します、そして私はそれらが私にレイアウトにおいて同じ柔軟性を与えるとは確信していません。
編集2:以前は気づいていませんでしたが、iTextライブラリにはGraphics2D APIがあり、Unicodeを完全に処理しているように見えるので、これを使用します。尋ねられた質問に対する答えではありませんが、それは私にとって問題を解決します。
編集3: iTextは私にとってうまく機能しています。レッスンは、無意味に難しいと思われる何かに直面したときに、あなたよりもそれについてもっと知っている誰かを探すことだと思います。