在iText 7中通过屏幕阅读器将文本设置为逐列读取

时间:2018-02-08 14:59:54

标签: pdf itext pdf-generation screen-readers itext7

我的PDF中有一个由多列组成的页面。我希望屏幕阅读器能够单独阅读每一列,然后再转到下一列。目前它只读取从左到右显示的文本。在iText 7中有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

答案取决于您是使用iText自行创建此文档还是要在现有PDF文档中修复此问题。

在第一种情况下,您只需指定要与文档内容一起创建文档逻辑结构。为了实现这一点,您需要在创建PdfDocument#setTagged()实例时调用PdfDocument方法。文档逻辑结构是屏幕阅读器所依赖的工具,以便获得内容的正确逻辑顺序。

在第二种情况下,当您已经有一个包含多个列的文档时,但是它的阅读顺序混乱了,很可能该文档中没有正确的逻辑结构(或者换句话说它不是标记正确)。修复您在现有PDF文档中描述的问题(此任务有时称为结构识别)的任务在一般情况下非常困难,并且不能像现在这样自动执行。有几种工具可以让您手动或半自动修复此类文档(如Adobe Acrobat),但iText 7目前不提供结构识别功能。