1

我正在尝试从 pdf 文档中提取文本。我已经测试了几个工具,如、PDFBox等,但它们都不适用于提取波斯语多列 pdf 文档的文本。TETPDFTextStream

目前,我正在尝试结合此工具的良好功能并对其使用一些技巧。现在我想知道如何检测页面的列数以及如何拆分这些列的文本。

特别是我想知道哪个类PDFBoxPDFTextStream负责列检测以及它是如何工作的。

4

1 回答 1

2

我只能说PDFTextStream,但为了理解它是如何工作的,你想大致了解PDFTextStream一下 PDF 文档的外观。

每个文档由 组成Pages,由 组成Blocks(其中可以有很多并且嵌套)。Blocks最终将包含Lines,它将包含TextUnits

这些单位中的每一个都有一个、xy属性。所有 PDF 都是基于它们的坐标布局的这些基本单位。当您要求“阅读”一个页面或一个区域时,它会查看对象以及它们在 X、Y 平面上的布局方式,并使用将其转换为文本的近似值。这就是为什么会出错,因为没有 100% 万无一失的方法可以将此结构转换为机器可读的结构化数据。widthheightPDFTextStream

PDFTextStream中,你应该看看getRegionText 函数和例子。PDFTextStream 是专有的(我转向 PDFBox 的原因),因此我无法向您提供有关用于获取文本的算法的详细信息,但它们基于上述过度简化。

祝你好运。

于 2013-09-06T02:34:24.443 回答