2

pdfbox を使用して pdf ファイルのフォームに入力しています。アプリケーションはフォームに使用可能なフィールドの数を表示できますが、次のエラーが返されます

  Messages:     
     Error: Don't know how to calculate the position for non-simple fonts
     File:  org/apache/pdfbox/pdmodel/interactive/form/PDAppearance.java
     Line number:   616

コード

.....

while (fieldsIter.hasNext()) {
                PDField field = (PDField) fieldsIter.next();
                setField(pdf, field.getPartialName(), "My input");
                //setField(pdf, field.getFullyQualifiedName(), "My input");
}

 .....



 public void setField(PDDocument pdfDocument, String name, String value) throws 
 IOException {
        PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
        PDAcroForm acroForm = docCatalog.getAcroForm();
        PDField field = acroForm.getField(name);
        if (field != null) {
            field.setValue(value);
        } else {
            System.err.println("No field found with name:" + name);
        }

    }

コードの他の部分が必要な場合はお知らせください。

4

5 に答える 5

0

私もこの問題を抱えていました。問題は、使用されているフォントが PDF に埋め込まれていなかったことです。

さらに、Acrobat pro の Preflight ツールでは PDF を修正できないようです。最終的にPDFを再作成しましたが、現在は正常に機能しています。

于 2015-01-14T11:15:35.060 に答える
0

PDFBoxが最初のpdfと互換性がないことを意味する場合は、別のPDFを使用してください。

于 2013-07-01T09:23:58.097 に答える
0

これは、Adobe Pro を使用して PDF を 1 つにマージしたときに起こりました。この後、結果のPDFはPDFBoxで使用できず、元のPDFも機能しました。少し調査した結果、マージプロセスがフォント情報を破棄することがわかりました。フォントをリセットするだけで動作するはずです!

よろしくお願いします!

于 2015-01-22T12:26:36.293 に答える
0

私は PDF で同じ問題を抱えていましたが、PDF フォーム フィールドを (Abobe Acrobat Pro で) 編集し、特定のフォントを設定することで解決しました。

問題は、問題のあるフィールドにフォントがまったく指定されていなかったことです。

それが役に立てば幸い!

于 2014-05-06T11:31:47.403 に答える