Spire.PDF for Java 10.4.9 现已正式发布。该版本支持获取 PDF 文档中的 Javascript 内容,并新增了一个构造方法来解决 PdfInkAnnotation 在浏览器里没有显示的问题。此外,在提取 PDF 表格和扁平化表单域时遇到的两个问题也已成功被修复。详情请查阅以下内容。
新功能:
- 新增一个构造方法 PdfInkAnnotation ink = new PdfInkAnnotation(Rectangle2D rect, List<int[]> inkList) 来解决添加的 PdfInkAnnotation 在浏览器里没有显示的问题。
- 支持获取 PDF 文档中的 Javascript 内容。
PdfDocument doc = new PdfDocument();
PdfPageBase pdfPage = doc.getPages().add();
ArrayList inkList = new ArrayList();
int[] intPoints = new int[]
{
100,800,
200,800,
200,700
};
inkList.add(intPoints);
Rectangle2D rect = new Rectangle2D.Float();
rect.setFrame(new Point2D.Float(0, 0), new Dimension((int)pdfPage.getActualSize().getWidth(), (int)pdfPage.getActualSize().getHeight()));
PdfInkAnnotation ink= new PdfInkAnnotation(rect,inkList);
ink.setColor(new PdfRGBColor(Color.RED));
ink.getBorder().setWidth(12);
ink.setText("e-iceblue");
pdfPage.getAnnotations().add(ink);
doc.saveToFile("inkAnnotation.pdf");
PdfPageBase page = pdf.getPages().get(0);
StringBuilder stringBuilder = new StringBuilder();
java.util.List<PdfJavaScriptAction> list = pdf.getNames().getJavaScripts();
stringBuilder.append(list.get(2).getScript()+"\r\n");
list.get(0).setScript("new javaScript code");
PdfAnnotationCollection annotationCollection = page.getAnnotations();
for(int i = 0;i < annotationCollection.getCount();i++){
PdfLinkAnnotationWidget annotation = (PdfLinkAnnotationWidget) annotationCollection.get(i);
stringBuilder.append("Method name:"+"\r\n");
String script = ((PdfJavaScriptAction) annotation.getAction()).getScript();
stringBuilder.append(script+"\r\n");
}
问题修复:
- 修复了表格中的文本没有被完整提取的问题。
- 修复了扁平化表单域后保存 PDF 文档时程序抛出 java.lang.NullPointerException 异常的问题。
获取 Spire.PDF for Java 10.4.9 请点击: