第一个问题可以用这种方式解决:
List multiLinePosition = acroFields.getFieldPositions("multiLine");
int page = multiLinePosition.get(0).page;
Rectangle rectangle = multiLinePosition.get(0).position;
float left = rectangle.getLeft();
float right = rectangle.getRight();
float top = rectangle.getTop();
float bottom = rectangle.getBottom();
//BaseFont baseFont = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
Font font = new Font(baseFont, 12, Font.BOLD, BaseColor.BLACK);
PdfContentByte pdfContentByte = ps.getOverContent(page);
ColumnText columnText = new ColumnText(pdfContentByte);
Rectangle r = new Rectangle(left, bottom, right, top);
columnText.setSimpleColumn(r);
//FontFactory.getFont(FontFactory.COURIER, 20, Font.BOLD, BaseColor.RED)
Chunk chunk = new Chunk("梅雪争春未肯降,骚人搁笔费评章。梅须逊雪三分白,雪却输梅一段香。");
Paragraph paragraph = new Paragraph(12, chunk);
paragraph.setSpacingBefore(16);
columnText.addText(paragraph);
// 设置字体,如果不设置添加的中文将无法显示
paragraph.setFont(font);
columnText.addElement(paragraph);
columnText.go();
第二个问题,只能用两个文本域,没办法使用一个使其自动换行。