我正在尝试打开此 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 上有几个相关的问题:
我在https://github.com/jschaf/pdfxfa开始了一个最小的工作示例。
不支持
在 PDFBox 中使用 XFA 和认证表单取决于当前不支持的增量更新。请参阅PDFBOX-2859 支持增量更新。