itext - pdf复选框填充不同
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了itext - pdf复选框填充不同相关的知识,希望对你有一定的参考价值。
我有一个pdf fillbale表单,里面有一个复选框。如果我使用acrobat阅读器,复选框就像这样填充
但是,如果我使用itext 5.5.13,复选框将填充如下所示。
复选框填充的方式在acrobat和itext之间是不同的。有没有办法让itext填充类似于acrobat的复选框并使其变为粗体。
我正在使用以下代码填充复选框。
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();
谢谢。
答案
您可以使用/ AP键更改复选框的外观。对于复选框,您将在正常外观(/ N)下找到两种外观状态(开,关)。这些XObject定义了在呈现PDF时看到的内容。所以如果你想改变它,你必须定义自己的外观。看看下面的class,特别是在getAppearance()
方法。创建后,您可以使用以下代码进行设置:
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");
以上是关于itext - pdf复选框填充不同的主要内容,如果未能解决你的问题,请参考以下文章
iText7高级教程之html2pdf——2.使用CSS定义样式
iText7高级教程之html2pdf——2.使用CSS定义样式
使用itext7简单的生成一个pdf,创建一个pdf模板并进行填充