在我的网站中,客户将上传包含可编辑字段的不同类型的 PDF 模板。我想从 PDF 中读取文本和可编辑字段,并在我的 Web 表单中显示带有相应字段的文本。我找到了分别读取文本和字段的解决方案,但我无法将字段映射到相应的文本。
使用 itextsharp 读取文本并获取字段,但无法映射该文本和字段。例如:在 pdf 中,它被指定为名字:Thomas。从 PDF 中读取并在 UI 中显示为名字(标签):Thomas(文本框)。
我用来获取所有字段的示例代码,
public string GetPDFFields()
{
string pdfTemplate = @"d:\1234.pdf";
var pdfReader = new PdfReader(pdfTemplate);
var outStream = new MemoryStream();
var stamper = new PdfStamper(pdfReader, outStream);
var form = stamper.AcroFields;
var fieldKeys = form.Fields.Keys;
StringBuilder sb = new StringBuilder();
foreach (string fieldKey in fieldKeys)
{
sb.Append(form.GetField(fieldKey)+"\r\n");
}
return sb.ToString();
}