1

PDFBox を使用して、JInternalFrame 内に PDF ファイルを表示しています。PDFを開くと、次のような警告がたくさん表示されます。

Changing font on <m> from <Tahoma Negrita> to the default font

報告されているフォントが 14 フォントの標準セットに含まれていないことは承知しています。そこで、それらのフォントが PDF ファイルに埋め込まれているかどうかを確認することにしました (埋め込みフォントの読み込みに問題はないと考えましたよね?)。

そのため、さまざまなリーダーでファイルを開き、プロパティ/フォントを確認します。このセクションがドキュメントで必要なフォントを報告しているのか、ドキュメントに実際に埋め込まれているフォントを報告しているのかは疑問です。

私が得る情報は次のとおりです。

BAAAA+Tahoma-Bold (embedded Subset), type:TrueType, Encoding:
CAAAA+Tahoma (Embedded Subset), type:TrueType, Encoding:

これに戸惑い、OpenOffice からフォントを埋め込む方法を調べたところ、PDF/A-1a オプションをチェックする必要があることがわかりました。そのため、このオプションを使用して別の PDF を作成しましたが (元の PDF ファイルを作成するときにこれを使用しなかった場合)、同じ結果が得られました。

これがどのように機能するかをご指導いただきたいと思います。PDF リーダーと同じように PDF ファイルを開くことができるようにしたいと考えています。PDFBox_External_Fonts.properties についても読みましたが、埋め込みフォントを扱っているため、このファイルを変更すべきではないと推測しています。

ありがとう。

4

1 に答える 1

3

pdfbox は、埋め込まれた TrueType フォントのサブセットを解析できません。

私が理解している限り、埋め込まれた TrueType サブセットには、pdfbox が必要とするフォント ファイルのメタデータが欠落しています。

バグは既知ですが、解決するのは簡単ではありません。現時点では、可能な場合は埋め込みタイプ 1 フォントを使用するようにアドバイスすることしかできません。pdfbox はそれらを処理できます。

org/apache/pdfbox/resources/PDFBox_External_Fonts.properties の下の pdfbox.jar に完全なフォント ファイルへのパスを設定することもできます。したがって、pdfbox がサブセットを解析できない場合でも、少なくとも元のファイルへのフル パスを見つけることができます。フォントファイル。うまくいくかもしれませんが、私はこれをテストしていません。

幸運を!

于 2012-08-23T08:05:40.357 に答える