使用iTextSharper保存新的PDF文件时,FormFlattening不起作用

我正在尝试在现有PDF文档中编辑(填写文本表单字段) . 但我想保存它并留下用户稍后编辑的选项 .

使用AcroFields(来自PdfStamper)设置字段的值后,我将FormFlattening设置为False,但在打开新PDF后,我无法编辑字段 .

如何解锁文件?

请注意,原始文件是完全可编辑的 .

谢谢 .

回答(1)

2 years ago

我的情况相同......使用过的代码是:

using (FileStream outFile = new FileStream("c:\\result.pdf", FileMode.Create))
        {
            PdfReader pdfReader = new PdfReader("c:\\D300.pdf");
            PdfStamper pdfStamper = new PdfStamper(pdfReader, outFile);


            AcroFields fields = pdfStamper.AcroFields;
            //rest of the code here
            fields.SetField("an_r", "2013");
            fields.SetField("luna_r", "2");

            pdfStamper.FormFlattening = false;
            pdfStamper.Close();
            pdfReader.Close();
        }