我的目标是使用SetField
从代码更改 PDF,然后使用 API 下载它。API 有效,可以下载 PDF,但没有进行任何更改。
经过一天的工作,我不得不寻求帮助。
我试图实现的是用更改集取回文件。我得到了填充的值,并且GetField
我看到该字段已设置,但是当我再次下载它时,PDF 中没有任何更改。
这是我使用的代码。
var pth = $"{Environment.CurrentDirectory}.Services\\Pdf\\plan2.pdf";
PdfReader pdfReader = null;
byte[] bytes = File.ReadAllBytes(pth);
try
{
using (MemoryStream outStream = new MemoryStream())
{
MemoryStream inputStream = new MemoryStream(bytes);
pdfReader = new PdfReader(inputStream);
PdfStamper pdfStamper = new PdfStamper(pdfReader, outStream);
pdfStamper.AcroFields.GenerateAppearances = true;
pdfStamper.AcroFields.SetField("registersubject", "testSubject");
pdfStamper.FormFlattening = true;
pdfStamper.FreeTextFlattening = true;
pdfStamper.Writer.CloseStream = false;
pdfStamper.Close();
return outStream.ToArray();
}
}