6

現在、一部の出版社と協力して、PDF からオンライン ブックを作成しています。私たちのレガシー アプリは flex を使用しているため、このためにSWFToolsによるPDF2SWFを使用して PDF を SWF ファイルに変換しています。

私たちが抱えている問題は、ユーザーが検索を実行したときに、SWF ドキュメント内のテキストがフレックス リーダーによって強調表示されないことです。簡単な調査の結果、テキストを抽出するときに、PDF ドキュメントで使用されているフォントを埋め込む必要があることがわかりました。

http://wiki.swftools.org/wiki/How_do_I_highlight_text_in_the_SWF%3F

pdf2swf -F $YOUR_FONTS_DIR$ -f input.pdf -o output.swf

上記のコードからわかるように、その PDF 内にあるフォントを含むフォント ディレクトリへのパスが必要です。

多数の PDF を変換するので、アプリ内に多数のフォントを保存するのではなく、PDF から直接フォント ファイルにアクセスすることは可能ですか?

追加情報

私たちのアプリは Java で書かれています。

現在、アプリ内で PDFBox と Ghostscript を使用しているため、これらのライブラリを使用するソリューションがある場合は、それが望ましいオプションですが、すべてのアイデアを受け入れます。

4

1 に答える 1

7

PDF ファイルにはフォント「ファイル」が含まれていません。これはまれですが、フォントがまったく含まれていない場合もあります。埋め込まれたフォント データは、途方もなくさまざまな形式にすることができます。

  • Type 1 PostScript フォント
  • タイプ 3 ポストスクリプト
  • フォント TrueType フォント
  • PostScript CFF フォント
  • タイプ 1 の PostScript アウトラインを含む CIDFonts
  • タイプ 3 の PostScript アウトラインを含む CIDFonts
  • TrueType アウトラインを含む CIDFont
  • CFF アウトラインを含む CIDFonts
  • ビットマップ画像を含む CIDFonts

アプリケーションはこれらすべてのフォント形式を読み取ることができますか? それらを使用したい場合は、PDF ファイルに埋め込まれたフォントを使用する必要があります。これらは多くの場合、サブセット フォントであり、カスタム エンコーディングで提供されるためです。つまり、元のフォントを持っていても、それを使用することはできません。エンコーディングが正しくないためです。

もちろん、これらの PDF ファイルはすべて一貫した方法で作成されており、埋め込みフォントを使用していない可能性がありますが、私には疑問があります....

于 2012-01-06T15:04:14.783 に答える