我有一个现有的PDF,我正在以编程方式填写(C#)。
表格上有复选框。在构建4.4.x中,它们在选中时呈现复选标记。在构建5.5.5.0和5.5.6.0中,它们现在是十字符号。 该文件的PdfVersion为54'6'。
我试过了:
SetFieldProperty(fieldname, "checkboxtype", RadioCheckField.TYPE_CHECK, null);
但没有运气。
我也搜索了潜在的属性列表,但似乎无法找到有效字符串值的列表。是iText在行动 - >表8.3完整列表?
答案 0 :(得分:3)
我遇到了这个问题。如果我在Adobe中手动填写PDF表单,则会添加复选标记,但如果我使用了iTextSharp,则会放置十字形。使iTextSharp放置复选标记对我有用的是:
SetField("checkbox name", "Yes", true);
最后的'true'将其从十字标记改为复选标记。希望对你有帮助。
答案 1 :(得分:0)
iTextSharp在PDF文件中获取“Tick Mark”。请尝试以下
form.SetField("Check Box1", "Yes",true);
答案 2 :(得分:0)
正如其他评论所述,无法在已经创建的PDF上进行转换。
另一方面,如果要填写现有的PDF,您仍然可以使用Adobe Acrobat Pro更改 CHECKBOX 的检查类型。首先,使用Adobe Acrobat Pro打开pdf,然后单击“工具”->“表单”->“编辑”,然后双击该字段以打开“字段属性”,在此情况下为“复选框属性”,然后单击“选项”并将“复选框样式”更改为您所需要的任何格式想。
在您的代码中,使用以下行:
AcroFields pdfFormFields = pdfStamper.AcroFields;
pdfFormFields.SetField("checkbox name", "Yes", true);
使用“ true”标志可以使iTextSharp使用您在使用Adobe Acrobat Pro时选择的复选框样式。