Aspose.Pdf for Java 17.12具备文本提取错误报告和PDF增量更新功能

我们十分高兴的宣布具有新功能与改进的Aspose.Pdf for Java 17.12新版本已经可以下载了。 如果您计划将现有API升级到最新版本,我们建议您查阅Aspose.Pdf for Java 17.12发行说明以了解公共API更改和改进的概述。另外,以下是文本提取和文档操作功能方面的一些重大改进和修复。

实现了文本提取错误报告功能

在调查PDF文档使用PDF Type 3字体的场景时,观察到TextAbsorber类没有正确检索文本。 原因是在PDF中使用的字体包含不同的编码,并且使用Adobe Reader本身不可能从这些文档中提取文本。 我们意识到在API中实现功能的必要性,可以报告文档中的这种错误。我们很高兴地通知您,已经为TextAbsorber和TextFragmentAbsorber类实现了文本提取错误报告,已经在Aspose.Pdf for Java 17.12版本中提供。以下代码片段可用于从PDF文档中提取文本时检测错误:

Document pdf = new Document("test.pdf");
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLogTextExtractionErrors(true);
pdf.getPages().accept(absorber);
if (absorber.hasErrors()) {
// Information about found errors and locations is stored in
// Errors collection.
for (TextExtractionError error : absorber.getErrors()) {
// TextExtractionError object contains information about the
// text extraction error found during processing concrete
// text fragment.
System.out.println(error);
System.out.println(String.format("Extracted text: '{0}'",
error.getExtractedText()));
}
}

使用增量更新将PDF文档保存到Stream对象中

据观察,当您从二进制文件加载PDF文档时,操作它(即添加一些注释)并将其保存为不同的二进制文件 – PDF文档的内容被完全更改。 为了避免这样的问题,我们在Document类中实现了一个额外的方法,例如saveIncrementally()。现在您能够使用增量更新将文档保存到Stream对象中。

其它修复

自始至终建议使用我们的API的最新版本,因为它们包括与早期发布的版本中报告的问题相关的最新功能/改进和修复。因此,请下载最新版本的Aspose.Pdf for Java 17.12。