0

所以我有以下 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 和命名的基本细节。

4

1 回答 1

2

啊哈,我刚刚发现是什么原因造成的。

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

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

更新:

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

于 2009-09-23T19:03:46.267 回答