如何使用 iText/C# 更改 PDF 表单中的按钮图标
How to change a button icon in a PDF form with iText/C#
我正在尝试改造使用旧版 Adobe Acrobat API 制作的旧版 C# 应用程序。此应用程序的功能之一是更改按钮的图标并更新按钮的标题。标题叠加在图标之上。
目前,我正在使用 iText 7 和 C# 编写应用程序。我已经准备好大部分功能,但我不知道如何向按钮添加标题和图标。我能够弄清楚如何分别添加标题和图标,但是当我尝试组合代码片段时,图标似乎覆盖了标题。
PdfButtonFormField button = (PdfButtonFormField)pdfForm.GetField(fieldName);
button.SetImage(tempFileLOGO);
var buttonObj = button.GetPdfObject();
buttonObj.GetAsDictionary(PdfName.MK).Put(PdfName.TP, new PdfNumber((int)PushButtonLayouts.LABEL_OVER));
pdfForm.ReplaceField(fieldName, button);
var fields = pdfForm.GetFormFields();
foreach (var f in fields)
{
if (f.Key.StartsWith("sign_"))
{
f.Value.SetValue(fieldValue);
}
}
此代码导致图标放置在按钮上,但我没有看到标题文本(变量名称 "fieldValue")
如有任何帮助,我们将不胜感激!
谢谢!
据我从 iText 代码中可以看出,如果按钮有图像,则在生成按钮外观时始终忽略其文本。
所以没有标准的方法来做到这一点。
我可以建议您先修改图片,在上面添加所需的文本,就像本例中所做的那样 https://itextpdf.com/en/resources/books/best-itext-7-questions-Whosebug/how-add-text-image
然后使用setImage方法设置一个新的
我正在尝试改造使用旧版 Adobe Acrobat API 制作的旧版 C# 应用程序。此应用程序的功能之一是更改按钮的图标并更新按钮的标题。标题叠加在图标之上。
目前,我正在使用 iText 7 和 C# 编写应用程序。我已经准备好大部分功能,但我不知道如何向按钮添加标题和图标。我能够弄清楚如何分别添加标题和图标,但是当我尝试组合代码片段时,图标似乎覆盖了标题。
PdfButtonFormField button = (PdfButtonFormField)pdfForm.GetField(fieldName);
button.SetImage(tempFileLOGO);
var buttonObj = button.GetPdfObject();
buttonObj.GetAsDictionary(PdfName.MK).Put(PdfName.TP, new PdfNumber((int)PushButtonLayouts.LABEL_OVER));
pdfForm.ReplaceField(fieldName, button);
var fields = pdfForm.GetFormFields();
foreach (var f in fields)
{
if (f.Key.StartsWith("sign_"))
{
f.Value.SetValue(fieldValue);
}
}
此代码导致图标放置在按钮上,但我没有看到标题文本(变量名称 "fieldValue")
如有任何帮助,我们将不胜感激!
谢谢!
据我从 iText 代码中可以看出,如果按钮有图像,则在生成按钮外观时始终忽略其文本。
所以没有标准的方法来做到这一点。 我可以建议您先修改图片,在上面添加所需的文本,就像本例中所做的那样 https://itextpdf.com/en/resources/books/best-itext-7-questions-Whosebug/how-add-text-image
然后使用setImage方法设置一个新的