首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >itext - pdf复选框填充方式不同

itext - pdf复选框填充方式不同
EN

Stack Overflow用户
提问于 2018-02-25 02:43:31
回答 1查看 163关注 0票数 2

我有一个带有复选框的pdf填充表单。如果我使用acrobat阅读器,复选框填入如下所示

但是,如果我使用itext 5.5.13,复选框就会像下面这样被填充。

复选框的填充方式在acrobat和itext中是不同的。有没有办法让itext填充类似acrobat的复选框,并使其加粗。

我使用下面的代码来填充复选框。

代码语言:javascript
运行
复制
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
AcroFields form = stamper.getAcroFields();

form.setField("cb1", "Yes");

stamper.setFormFlattening(true);
stamper.close();

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-03-01 22:04:11

您可以使用/AP键更改复选框的外观。在复选框的情况下,您将在正常外观(/N)下找到两种外观状态(开、关)。这些XObjects定义了渲染PDF时所看到的内容。因此,如果你想改变这一点,你必须定义自己的外表。看看下面的class,特别是getAppearance()方法。创建完成后,您可以使用以下代码进行设置:

代码语言:javascript
运行
复制
PdfAppearance tpon = getAppearance(isRadio, true);
PdfAppearance tpoff = getAppearance(isRadio, false);
field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, onValue, tpon);
field.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, "Off", tpoff);
field.setAppearanceState(checked ? onValue : "Off");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48966368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档