我想以平面模式保存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。
感谢所有