我是这样子创建的复选框 Rectangle rectPageSize = new Rectangle(PageSize.A4);//A4
Document doc = new Document(rectPageSize);//设置页面 PdfWriter writer = PdfWriter.getInstance(doc,new FileOutputStream(new File(request.getRealPath("/report")+"/"+fileName)));
PdfFormField field = PdfFormField.createCheckBox(writer);
field.setWidget(new Rectangle(150, 190, 160, 200), PdfAnnotation.HIGHLIGHT_INVERT);
field.setFieldName("Urgent_");
field.setValueAsName("Off_");
field.setAppearanceState("Off_");
field.addKid(f);
field.setFieldFlags(1);
PdfContentByte cb = writer.getDirectContent();
PdfAppearance tpOff = cb.createAppearance(20, 20);
PdfAppearance tpOn = cb.createAppearance(20, 20);
//添加一条斜线并显示出来
tpOff.rectangle(1, 1, 18, 18);
tpOff.stroke();
tpOn.setRGBColorFill(255, 228, 228);
tpOn.rectangle(1, 1, 18, 18);
tpOn.fillStroke();
tpOn.moveTo(1, 1);
tpOn.lineTo(19, 19);
tpOn.moveTo(1, 19);
tpOn.lineTo(19, 1);
tpOn.stroke(); iter.addAnnotation(field);
writer.addAnnotation(field_1);
Document doc = new Document(rectPageSize);//设置页面 PdfWriter writer = PdfWriter.getInstance(doc,new FileOutputStream(new File(request.getRealPath("/report")+"/"+fileName)));
PdfFormField field = PdfFormField.createCheckBox(writer);
field.setWidget(new Rectangle(150, 190, 160, 200), PdfAnnotation.HIGHLIGHT_INVERT);
field.setFieldName("Urgent_");
field.setValueAsName("Off_");
field.setAppearanceState("Off_");
field.addKid(f);
field.setFieldFlags(1);
PdfContentByte cb = writer.getDirectContent();
PdfAppearance tpOff = cb.createAppearance(20, 20);
PdfAppearance tpOn = cb.createAppearance(20, 20);
//添加一条斜线并显示出来
tpOff.rectangle(1, 1, 18, 18);
tpOff.stroke();
tpOn.setRGBColorFill(255, 228, 228);
tpOn.rectangle(1, 1, 18, 18);
tpOn.fillStroke();
tpOn.moveTo(1, 1);
tpOn.lineTo(19, 19);
tpOn.moveTo(1, 19);
tpOn.lineTo(19, 1);
tpOn.stroke(); iter.addAnnotation(field);
writer.addAnnotation(field_1);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货