最近我们不得不从版本5升级到版本5.2,因为后者支持中文。但是,较新版本的一个主要变化是它不再支持TextProvidingRenderListener
类的contsructor中的PdfTextExtractor
类。我们定制了一个课程来使用这个功能:
public class CustomLocationAwarePdfRenderListener
implements TextProvidingRenderListener
{
public CustomLocationAwarePdfRenderListener( int lineAlignErrorAllowed)
{
this.lineAlignErrorAllowed = lineAlignErrorAllowed;
reset();
}
然而,作为结果,现在无法使用此类和名为lineAlignErrorAllowed
的属性,该属性是CustomLocationAwarePdfRenderListener
的构造函数的一部分。 lineAlignErrorAllowed
基本上作为扫描最小值的参数。源之前的线被认为太复杂。
对此主题的任何帮助将非常感激。
答案 0 :(得分:2)
在意识到最新的itext版本中的LocationTextExtractionStrategy
类是TextProvidingRenderListener
的有价值的替代后,管理来修复此问题。虽然这次我们不得不延长课程。唯一需要的其他更改是通过将PdfTextExtractor
的实例传递给LocationTextExtractionStrategy
来更改代码以使用现在的静态getTextFromPage
类。在搜索最新的itext API参考文档时遇到了一些困难,但最终得到了它们here。 (不知何故,它们会出现一些与常规Java API文档不同的格式,但可以使用它们。)