如何使用PDF Sharp重命名PDF表单字段?

时间:2016-04-12 13:33:05

标签: pdf pdfsharp

我使用的是PDF Sharp,只有一个问题。我无法重命名表单字段。我们有一个名为'x'的字段,在对字段'x'应用操作后,需要将其重命名为字段'y'。

我已经看过很多关于如何使用 itextSharp 执行此操作的文档。不幸的是我的公司不能使用它们,因此我正在寻找使用 PDF Sharp 的解决方案。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我能够通过PdfSharp重命名表单字段,如下所示:

public void RenameAcroField(PdfAcroField field, string newFieldName)
{
    field.Elements.SetString("/T", newFieldName);
}

有点棘手,但对我的情况有用。希望它会有所帮助。

答案 1 :(得分:0)

这可以让您了解如何执行字段重命名

var uniqueIndex = Guid.NewGuid();
var fields = pdfDocument.AcroForm.Fields;
var fieldNames = fields.Names;

  for (int idx = 0; idx < fieldNames.Length; ++idx)
  {
      var fieldName = fieldNames[idx];
      var field = fields[fieldName];

      field.Elements.SetName($"/{fieldName}", $"{fieldName}_{uniqueIndex}");
  }

答案 2 :(得分:0)

PDFsharp 1.50.5147的VB.NET版本

Dim i = 0
While i < pdfDoc.AcroForm.Fields.Count
  pdfDoc.AcroForm.Fields(i).Elements.SetString("/T", "formField" & i)
  i += 1
End While