0

iTextSharp用来操作 PDF 文档。当我加密 PDF 表单时,它运行良好并且文档变得不可编辑(使用的PdfEncryptor.Encrypt(...)方法)。我在加密时设置了所有者密码。后来,当我使用相同的所有者密码阅读文档时,它也打开了文档。

当我尝试从打开的文档中读取表单字段时,问题就开始了。我打印 PDF 文档中的字段数,它是“0”。在加密之前,相同的表单显示超过 50 个字段计数。

那么为什么在使用加密/解密pdf文档后我无法再获取这些字段iTextSharp呢?

更新:

我试图在工具中打开“加密 PDF”,iText RUPS它在控制台中显示以下错误:

Exception in thread "Thread-6" java.lang.NullPointerException
    at com.itextpdf.rups.view.itext.treenodes.StructureTreeNode.<init>(StructureTreeNode.java:43)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:93)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:99)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:99)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:108)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:104)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:99)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:99)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:108)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:104)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:99)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:99)
    at com.itextpdf.rups.view.itext.StructureTree.loadKids(StructureTree.java:99)
    at com.itextpdf.rups.view.itext.StructureTree.update(StructureTree.java:75)
    at java.util.Observable.notifyObservers(Unknown Source)
    at com.itextpdf.rups.controller.PdfReaderController.notifyObservers(PdfReaderController.java:196)
    at com.itextpdf.rups.model.ObjectLoader.doTask(ObjectLoader.java:103)
    at com.itextpdf.rups.model.BackgroundTask$2.run(BackgroundTask.java:60)
    at java.lang.Thread.run(Unknown Source)
4

0 回答 0