Spire.PDF for Java 2.9.1已正式发布。该版本支持向网格添加图片以及填充XfaDateTimeField。此外,也修复了将PDF转换为Word、提取中文文本和填充文本框时出现的一些问题。新功能及问题修复详情,请参见以下内容。
新功能:
- 支持添加图片到Grid
PdfDocument doc = new PdfDocument();
doc.loadFromFile(inputFile);
PdfPageBase page = doc.getPages().get(0);
PdfGrid grid = new PdfGrid();
PdfGridRow row = grid.getRows().add();
grid.getColumns().add(2);
grid.getColumns().get(0).setWidth(120);
grid.getColumns().get(1).setWidth(300);
Dimension2D imageSize = new Dimension();
imageSize.setSize(70,70);
float LR = (grid.getColumns().get(0).getWidth()-(float) imageSize.getWidth())/2;
PdfGridCellContentList list = new PdfGridCellContentList();
PdfGridCellContent textAndStyle = new PdfGridCellContent();
textAndStyle.setImage(PdfImage.fromFile("./Data/ImgFiles/E-iceblue logo.png"));
textAndStyle.setImageSize(imageSize);
list.getList().add(textAndStyle);
row.getCells().get(0).setValue(list);
grid.draw(page, new Point2D.Double(50, 330));
doc.saveToFile(outputFile);
PdfDocument doc = new PdfDocument();
doc.loadFromFile(inputFile);
StringBuilder sb = new StringBuilder();
PdfFormWidget formWidget = (PdfFormWidget) doc.getForm();
List xfafields = formWidget.getXFAForm().getXfaFields();
for (int i = 0; i < xfafields.size(); i++) {
if (xfafields.get(i) instanceof XfaDateTimeField) {
XfaDateTimeField xf = (XfaDateTimeField) xfafields.get(i);
sb.append( "xfafields"+i + xf.getValue() + "\r\n");
xf.setValue("gray1");
sb.append("xfafields"+i + xf.getValue() + "\r\n");
sb.append( "\r\n");
}
}
FileWriter fileWriter = new FileWriter(outputFile_T);
fileWriter.write(sb.toString());
fileWriter.flush();
fileWriter.close();
doc.saveToFile(outputFile);
问题修复:
- 修复了用相同的坐标绘制图章和文本框域时,位置不一致的问题
- 修复了Pdf 转 Word,内容有被遮盖的问题
- 修复了提取的中文文本不正确的问题
- 修复了Pdf 转 Word,内容重叠的问题
- 修复了填充TextBoxField域失败的问题
获取Spire.PDF for Java 2.9.1,请点击: