我想以平面模式保存 PDF 文件。我已经尝试了所有在线解决方案,但从未在我的代码中工作。
我有一个用 ITextSharp 和 Acrofields 生成的文件。当我尝试设置该选项pdf.FormFlattening = true;
时,它不适用于我的解决方案。
该文件是从使用 Adobe Livecycle Designer 创建的“Adobe 静态 PDF 表单”生成的
这是我的功能:
using (var streamPdf = new MemoryStream())
{
PdfStamper pdf;
using (var pdfReader = new PdfReader(Application.StartupPath + PathToFile + Template))
using (pdf = new PdfStamper(pdfReader, streamPdf))
{
AcroFields pdfFormFields = pdf.AcroFields;
foreach (var field in fields)
{
pdfFormFields.SetField(field.FieldName, field.FieldValue.Trim());
}
}
foreach (var de in pdfReader.AcroFields.Fields)
{
pdfFormFields.SetFieldProperty(de.Key.ToString(),"setfflags",PdfFormField.FF_READ_ONLY,null);
}
pdf.FormFlattening = true;
pdf.AcroFields.GenerateAppearances = true;
pdf.Close();
_pdf = streamPdf.ToArray();
}
string filename = "name.pdf";
using (var fs = new FileStream(filename, FileMode.Create))
{
fs.Write(_pdf, 0, _pdf.Count());
fs.Close();
}
生成的文件是静态 PDF,我需要一个没有字段的 PDF。
谢谢大家