Itext 7 - PdfReader 未使用所有者密码错误打开
Itext 7 - PdfReader is not opened with owner password Error
我正在使用 This example 最新的 Itext7 来填写文档,但出现此错误:iText.Kernel.Crypto.BadPasswordException: PdfReader 未使用所有者密码打开
所以我环顾网络,发现有些人使用 PdfReader.unethicalreading = true;
找到了解决此错误的方法,但是当我尝试使用相同的代码时,它说 PDFReader 中没有名为 unethicalreading
的定义
这是我的代码:
string src = @"C:\test1.pdf";
string dest = @"C:\Test2.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();
PdfFormField toSet;
fields.TryGetValue("Name", out toSet);
toSet.SetValue("Some text");
您需要像这样更改您的代码:
string src = @"C:\test1.pdf";
string dest = @"C:\Test2.pdf";
PdfReader reader = new PdfReader(src);
reader.setUnethicalReading(true);
PdfDocument pdfDoc = new PdfDocument(reader, new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();
PdfFormField toSet;
fields.TryGetValue("Name", out toSet);
toSet.SetValue("Some text");
这将允许您违反文档原作者定义的权限。这也证明设置这样的权限已经过时了,因为自从 PDF 成为 ISO 标准后,不再有删除这些权限的惩罚。
我正在使用 This example 最新的 Itext7 来填写文档,但出现此错误:iText.Kernel.Crypto.BadPasswordException: PdfReader 未使用所有者密码打开
PdfReader.unethicalreading = true;
找到了解决此错误的方法,但是当我尝试使用相同的代码时,它说 PDFReader 中没有名为 unethicalreading
这是我的代码:
string src = @"C:\test1.pdf";
string dest = @"C:\Test2.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();
PdfFormField toSet;
fields.TryGetValue("Name", out toSet);
toSet.SetValue("Some text");
您需要像这样更改您的代码:
string src = @"C:\test1.pdf";
string dest = @"C:\Test2.pdf";
PdfReader reader = new PdfReader(src);
reader.setUnethicalReading(true);
PdfDocument pdfDoc = new PdfDocument(reader, new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();
PdfFormField toSet;
fields.TryGetValue("Name", out toSet);
toSet.SetValue("Some text");
这将允许您违反文档原作者定义的权限。这也证明设置这样的权限已经过时了,因为自从 PDF 成为 ISO 标准后,不再有删除这些权限的惩罚。