Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Java 提取PDF中的表数_Java_Itext_Extraction - Fatal编程技术网

Java 提取PDF中的表数

Java 提取PDF中的表数,java,itext,extraction,Java,Itext,Extraction,我试图使用iText来找出使用java的pdf文件中存在的表的数量,但是没有成功,任何人都无法让我知道正确的查找方向 如果您的PDF被标记,您可以检查structReteroot中的表结构。如果您的PDF没有标记,则PDF中没有表。您可以用肉眼看到表格,但就PDF文件而言,只有行和文本片段,没有表格 一个没有标记的PDF,对它的结构一无所知!从不包含structReteroot的PDF中提取表格就像从胡萝卜汤中提取原始完整胡萝卜一样。如果这就是你想要做的,那么希望我的比喻能解释为什么你在要求一些

我试图使用iText来找出使用java的pdf文件中存在的表的数量,但是没有成功,任何人都无法让我知道正确的查找方向

如果您的PDF被标记,您可以检查
structReteroot
中的表结构。如果您的PDF没有标记,则PDF中没有表。您可以用肉眼看到表格,但就PDF文件而言,只有行和文本片段,没有表格

一个没有标记的PDF,对它的结构一无所知!从不包含
structReteroot
的PDF中提取表格就像从胡萝卜汤中提取原始完整胡萝卜一样。如果这就是你想要做的,那么希望我的比喻能解释为什么你在要求一些不可能的事情(这也解释了为什么你找不到任何答案)


如何确定PDF是否已标记?在Adobe Reader中打开PDF,然后单击文件>文档属性。在属性选项卡底部的某个位置,有一个条目指示标记的PDF:No标记的PDF:Yes

itext为您提供了进行文档分析的工具。您必须使用这些工具自己进行分析。不过,首先必须定义如何识别表。特别是在没有分隔线的表格中,这似乎是一个相当大的挑战……答案很好,但关于“这很难也不是不可能”这一点,这是困难的,但不是不可能的:我同意,我不同意。我同意,如果您在这个问题上抛出足够的代码,您可以检测一些表:例如,解析包含文本的线性路径的内容流。但这并不适用于所有类型的表,因为有些表没有任何可视边框。在这种情况下,你会发现什么?空白?如果这样的表有一个具有表宽colspan的零件,该怎么办?那算一张桌子吗?还是以文本分隔的两个表格?这是不可能没有任何错误的。