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

问题描述 投票:4回答:3

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

c# itextsharp
3个回答
3
投票

我遇到了这个问题。如果我在Adobe中手动填写PDF表单,则会添加复选标记,但如果我使用了iTextSharp,则会放置十字形。使iTextSharp放置复选标记对我有用的是:

SetField("checkbox name", "Yes", true);

最后的“真实”将其从十字标记改为复选标记。希望对你有所帮助。


0
投票

iTextSharp在PDF文件中获取“Tick Mark”。请尝试下面的一个

form.SetField("Check Box1", "Yes",true);

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

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.