gpt4 book ai didi

c# - 使用 Itextsharp 填写 PDF 表单

转载 作者:太空狗 更新时间:2023-10-29 21:28:36 26 4
gpt4 key购买 nike

我正在尝试使用 ITextsharp 填写表格,并尝试使用以下代码获取 pdf 中的所有字段:

  string pdfTemplate = @"c:\Temp\questionnaire.pdf";


PdfReader pdfReader = new PdfReader(pdfTemplate);

StringBuilder sb = new StringBuilder();
foreach (var de in pdfReader.AcroFields.Fields)
{
sb.Append(de.Key.ToString() + Environment.NewLine);
}

但是foreach循环总是空计数。我已经尝试过 here 中的示例,我需要做些什么来归档自己吗?它工作正常... this is an example of pdf I am trying to fill

有什么想法吗?

编辑::

Null Error on PDF Fields

最佳答案

事实证明,要填写的 PDF“表单”实际上根本不是表单(在 PDF 术语中)。因此,您有两个选择:

  1. 您可以使用硬编码或配置的“字段”位置和尺寸直接将文本添加到页面内容,如 @tschmit007 在其回答的评论中所述。

  2. 您将实际的 PDF 表单字段添加到您的 PDF 以生成一个真正的 PDF 表单,您将其作为模板以供稍后填写。

您可以使用一些允许这样做的图形工具来添加实际的表单字段,例如Adobe Acrobat,或者您可以使用 iText(Sharp)。看看 iText in Action — 2nd Edition 的第 8 章和可用的 sample here for Javahere for .Net .

这些示例主要将表单域添加到新生成的 PDF 文档中。但是,您实际上可以使用相同的代码将表单字段添加到 PdfStamper,它使用 Java 中的 stamper.getWriter()stamper.Writer 公开其内部 PdfWriter C#。不过,您必须使用 stamper.addAnnotation(field, page) 而不是 writer.addAnnotation(field)

关于c# - 使用 Itextsharp 填写 PDF 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com