Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pdf 在iText 7中设置屏幕阅读器按列读取的文本_Pdf_Itext_Pdf Generation_Screen Readers_Itext7 - Fatal编程技术网

Pdf 在iText 7中设置屏幕阅读器按列读取的文本

Pdf 在iText 7中设置屏幕阅读器按列读取的文本,pdf,itext,pdf-generation,screen-readers,itext7,Pdf,Itext,Pdf Generation,Screen Readers,Itext7,我的PDF中有一个由多个列组成的页面。我想让屏幕阅读器在进入下一个专栏之前单独阅读每一个专栏。目前它只读取从左到右显示的文本。在iText 7中有什么方法可以做到这一点吗?答案取决于您是使用iText自己创建此文档,还是希望在现有的PDF文档中解决此问题 在第一种情况下,您只需指定要创建文档逻辑结构以及文档内容。为了实现这一点,您需要在创建PdfDocument实例时调用PdfDocument#settaged()方法。文档逻辑结构是屏幕阅读器等工具为获得内容的正确逻辑顺序所依赖的 在第二种情况

我的PDF中有一个由多个列组成的页面。我想让屏幕阅读器在进入下一个专栏之前单独阅读每一个专栏。目前它只读取从左到右显示的文本。在iText 7中有什么方法可以做到这一点吗?

答案取决于您是使用iText自己创建此文档,还是希望在现有的PDF文档中解决此问题

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


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

这是我正在创建的文档,它已设置为标记。@scott13如何创建包含多个列的文档?您是否使用
com.itextpdf.layout.ColumnDocumentRenderer
(它是一个java类,但在.net中也有类似的类)?这里有一个使用它的例子。