1

PDFドキュメントを個々のページに分割し、ページを調べて特定の文字列を探し、文字列を含むページから新しいpdfを作成するpdfbox APIを使用して、Javaでいくつかのコードを作成しました。私の問題は、新しいページを保存すると、フォントが失われることです。それをテストするために簡単な単語文書を作成したところ、デフォルトのフォントは calibri だったので、プログラムを実行すると、「埋め込まれたフォントを抽出できません...」というエラー ボックスが表示され、フォントが他のデフォルトに置き換えられます。 .

PDFに配置するテキストを入力するときにフォントを変更する方法を示す多くのサンプルコードを見てきましたが、PDFのフォントを設定するものはありません.

誰かがこれを行う方法に精通している場合(またはドキュメント/例を見つけることができる場合)、私はそれを大いに感謝します!

編集:サンプルコードを含めるのを忘れていました

if (pageContent.indexOf(findThis) >= 0){
                PDPage pageToRip = pages.get(i);
                >>set the font of pageToRip here
                res.importPage(pageToRip); //res is the new document that will be saved
            }

参考になるかわかりませんが、入れてみました。

また、pdf が calibri で分割されて書かれている場合の変更は次のようになります。

左:calibri、右:変化するもの

注: これは、処理する必要のあるファイルで使用されているフォントによって異なりますが、問題ではない場合があります。Calibri以外にもいくつか試してみましたが、うまくいきました。

4

1 に答える 1

0

PDFからフォントを抽出する方法から

フォントが完全に埋め込まれていても、実際には PDF からフォントを抽出することはできません。これが実行できない理由は 2 つあります。

•ほとんどのフォントは著作権で保護されているため、エクストラクタの使用は違法です。

• PDF にフォントを埋め込む場合、すべてのフォント データが含まれているわけではありません。明らかに、フォント アウトライン データとフォント幅テーブルが含まれています。合字に関するデータなど、その他の情報は PDF 内では無関係であるため、これらのデータは PDF に含まれません。フォント抽出ツールについては知りませんが、見つけた場合は、上記の理由から、これらのユーティリティは避けるべきであることが明らかです。

于 2011-10-03T18:38:03.207 に答える