0
我创建了一个PDF内部的表。我设法通过听取PdfPCellEvent创建所选单元格字段:使PdfField可见
cell.setCellEvent(new PdfPCellEvent() {
@Override
public void cellLayout(PdfPCell pdfPCell,
Rectangle rectangle,
PdfContentByte[] canvas) {
PdfContentByte pcb = canvas[canvas.length - 1];
PdfWriter writer = pcb.getPdfWriter();
PdfFormField field = PdfFormField.createTextField(writer, false, false, 3);
field.setName("quantity " + hashCode());
field.setFieldFlags(PdfFormField.FF_EDIT);
Rectangle rect = new Rectangle(rectangle.getLeft() + 5, rectangle.getTop() - 5,
rectangle.getLeft() + rectangle.getWidth() - 5,
rectangle.getTop() - rectangle.getHeight() + 5);
field.setWidget(rect, PdfAnnotation.HIGHLIGHT_OUTLINE);
field.setFieldFlags(PdfAnnotation.FLAGS_PRINT);
writer.addAnnotation(field);
writer.flush();
}
} );
它工作正常,只要将文本输入的字段关注。但是一旦该领域失去重点,内容就会消失。如果我再次将焦点设置到该字段,则会重新显示数据。
我的问题是:为了使PdfFormField中的文本保持打印状态,我需要做些什么?
有一个样本PDF浏览:http://qr.sertal.ch/output.pdf
感谢你的帮助。