首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PDF Clown检测PDF表格中的标题和边框

使用PDF Clown检测PDF表格中的标题和边框
EN

Stack Overflow用户
提问于 2015-07-20 22:39:12
回答 1查看 393关注 0票数 1

我正在使用PDF Clown的TextInfoExtractionSample将PDF表格提取到Excel中,除了合并的单元格之外,我可以做到这一点。在下面的代码中,对于object," content“,我看到扫描的内容是文本、XObject、ContainerObject,但没有边框。谁知道什么对象代表PDF表格中的边框,或者如何检测文本是否是表格的标题?

代码语言:javascript
运行
复制
   private void Extract(ContentScanner level, PrimitiveComposer composer)
   {
      if(level == null)
        return;
      while(level.MoveNext())
      {
        ContentObject content = level.Current;
      }
    }
EN

回答 1

Stack Overflow用户

发布于 2015-08-07 23:29:01

我用的是

TextInfoExtractionSample...

在下面的代码中,对于object," content“,我看到扫描的内容是文本、XObject、ContainerObject,但没有边框。

while(level.MoveNext()) { ContentObject content = level.Current;}

A)访问所有内容

代码语言:javascript
运行
复制
    if(content is XObject)
    {
        // Scan the external level!
        Extract(((XObject)content).GetScanner(level), composer);
    }

代码语言:javascript
运行
复制
    if(content is ContainerObject)
    {
        // Scan the inner level!
        Extract(level.ChildLevel, composer);
    }

这些块使得样本递归成为复杂的对象(您提到的XObject、ContainerObject ),而这些对象又包含它们自己的简单内容。

B)检查所有内容

任何人都知道什么对象代表

表格中的边框

因此,在扫描页面内容时(递归地,如A中所示),您必须查找包含以下内容的Path实例(名称空间org.pdfclown.documents.contents.objects

  • moveTo m,lineTo l和笔划S操作或
  • 矩形re和填充f操作。

(This answer可能会有所帮助)

如果PDF恰好是带标签的,事情可能会更容易一些,因为你需要解释的更少。相反,您可以阅读标记信息,它可能会告诉您单元格的开始和结束位置,因此您不需要解释图形线。不幸的是,更少的PDF被标记。

或者如何检测文本是否是表格的标题?

如上所述,除非您碰巧检查了带标签的PDF,否则不会立即告诉您某些文本是表格标题。你得再解释一遍。它是在顶部的里面吗?或者就在里面的任何地方?它是以特定字体绘制的吗?还是更大?不同的颜色?等。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31519363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档