【问题标题】:Setting text to be read column-wise by screen-reader in iText 7在 iText 7 中设置要由屏幕阅读器按列读取的文本
【发布时间】:2018-07-19 04:47:05
【问题描述】:

我的 PDF 中有一个页面,该页面由几列组成。我希望屏幕阅读器在继续阅读下一列之前单独阅读每一列。目前它只读取从左到右出现的文本。有没有办法在 iText 7 中做到这一点?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 这是我正在创建的文档,它已被设置为标记。
    • @scott13 如何创建包含多列的文档?你使用com.itextpdf.layout.ColumnDocumentRenderer(它是一个java类,但是.net中有一个类似的)?有一个使用它的例子on itext website.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多