0

我正在尝试打开此 PDF 文件以自动填写表格:DA1059

PDFtk、PDFBox、Chrome 的 PDF 查看器和 Mac OSX 预览应用程序都无法打开 PDF。

但是,Adobe Reader 或 Acrobat 成功打开 PDF 而不提示输入密码。

PDFtk错误:

$ pdftk da1059.pdf dump_data_fields
Error: Failed to open PDF file:
   da1059.pdf
   OWNER PASSWORD REQUIRED, but not given (or incorrect)
Done.  Input errors, so no output created.

PDFBox错误:

$ java -jar pdfbox-app-1.8.9.jar ExtractText da1059.pdf
Jul 15, 2015 10:41:38 PM org.apache.pdfbox.pdfparser.PDFParser parse
INFO: Document is encrypted
ExtractText failed with the following exception:
org.apache.pdfbox.exceptions.WrappedIOException
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.encryptData(SecurityHandler.java:375)
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decryptString(SecurityHandler.java:577)
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decrypt(SecurityHandler.java:429)
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decryptDictionary(SecurityHandler.java:530)
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decrypt(SecurityHandler.java:437)
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.decryptObject(SecurityHandler.java:403)
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.proceedDecryption(SecurityHandler.java:221)
    at org.apache.pdfbox.pdmodel.encryption.StandardSecurityHandler.decryptDocument(StandardSecurityHandler.java:158)
    at org.apache.pdfbox.pdmodel.PDDocument.openProtection(PDDocument.java:1602)
    at org.apache.pdfbox.ExtractText.startExtraction(ExtractText.java:216)
    at org.apache.pdfbox.ExtractText.main(ExtractText.java:85)
    at org.apache.pdfbox.PDFBox.main(PDFBox.java:58)
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:966)
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:824)
    at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:436)
    at javax.crypto.Cipher.doFinal(Cipher.java:2004)
    at org.apache.pdfbox.pdmodel.encryption.SecurityHandler.encryptData(SecurityHandler.java:351)
    ... 11 more

Tilman Hausherr 指出这是一个XFA 表格。Stack Overflow 上有几个相关的问题:

将 XFA 与 PDFBox 相结合

我在https://github.com/jschaf/pdfxfa开始了一个最小的工作示例。

不支持

在 PDFBox 中使用 XFA 和认证表单取决于当前不支持的增量更新。请参阅PDFBOX-2859 支持增量更新

4

0 回答 0