iTextSharp 5.5.6.0错误?复选框刻度线更改

时间:2015-05-12 23:48:11

标签: c# itextsharp

我有一个现有的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完整列表?

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时选择的复选框样式。