为什么生成的PDF中的每个表单字段都以“-0”结尾?

时间:2009-09-23 18:31:56

标签: vb.net pdf syncfusion

所以我有以下VB.NET代码,使用SyncFusion的Essential PDF模块在PDF中创建表单域:

Dim pdfField As New Pdf.Interactive.PdfTextBoxField(pdfDoc.Pages(iPage), "txt1")
pdfField.Location = New PointF(50, 50)
pdfField.Size = New SizeF(100, 10)
pdfDoc.Form.Fields.Add(pdfField)

除了一件事,这很有效。当我在Acrobat中打开PDF并查看字段名称时,我注意到它显示“txt1-0”。现在我无法弄清楚“-0”的来源以及如何摆脱它。

这可能是一个SyncFusion问题,在这种情况下,我希望我很快得到他们的回答(我在他们的论坛上问过这个问题)。但我认为这也可能是我不知道的关于PDF和命名的基本细节。

1 个答案:

答案 0 :(得分:2)

啊哈,我刚刚发现了造成这种情况的原因。

以前我使用的是PdfLoadedDocument和PdfDocument类。我通过ImportPages将PdfLoadedDocument加载到PdfDocument中,显然这个过程会在字段名称中添加“-0”后缀。

我发现在我的情况下,我可以摆脱PdfDocument对象,只使用PdfLoadedDocument并修复它。

更新:

为了扩展这一点,我发现它实际上是控制它的PdfDocument.Form.FieldAutoNaming属性。它的默认值为true。当它设置为true时,它会根据需要自动添加后缀以防止重复的字段名称。但是,如果将其设置为false,则不再添加后缀“-0” - 而是可能会在代码中出现错误。