【发布时间】:2021-01-14 20:25:17
【问题描述】:
我想在我的 Web 应用程序(在 ASP.NET MVC 5 中开发)中填充现有的 PDF 文件。 PDF 文件有一个名为“Text1”的字段。在这个字段中,我想写值“abc”。我目前正在尝试为此目的使用 PdfSharp。
这就是我目前尝试在 PDF 的字段中设置值的方式:
var doc = PdfReader.Open(ControllerContext.HttpContext.Server.MapPath("~/Documents/test.pdf"), PdfDocumentOpenMode.Modify);
doc.AcroForm.Fields["Text1"].ReadOnly = false;
这是准备工作。
之后我尝试了各种方法。例如,这个:
doc.AcroForm.Elements.SetValue("Text1", "abc");
但这不起作用,因为string无法转换为PdfSharp.Pdf.PdfItem。
我也试过这个:
doc.AcroForm.Fields["Text1"].Value = "abc";
再次,我得到了与上面相同的异常。
是否可以设置现有 PDF 的字段值?这适用于 PdfSharp 吗?
【问题讨论】:
-
从来没有用过PdfSharp,但是看了GitHub上的源码,我想到了这个:
doc.AcroForm.Elements.SetValue("Text1", new PdfString("abc"));似乎有多种类派生自PdfItem(PdfString,@987654329 @ 等)- 只是猜测。
标签: c# asp.net-mvc pdf pdfsharp