使用PDF小丑检测PDF表格中的标题和边框
我正在使用PDF小丑的TextInfoExtractionSample将PDF表格提取到Excel中,除了合并的单元格之外,我都能做到。在下面的代码中,对于object“content”,我将扫描的内容视为text、XObject、ContainerObject,而对于border则没有。有人知道PDF表格中哪个对象表示边框,或者如何检测文本是否是表格的标题吗使用PDF小丑检测PDF表格中的标题和边框,pdf,pdfclown,Pdf,Pdfclown,我正在使用PDF小丑的TextInfoExtractionSample将PDF表格提取到Excel中,除了合并的单元格之外,我都能做到。在下面的代码中,对于object“content”,我将扫描的内容视为text、XObject、ContainerObject,而对于border则没有。有人知道PDF表格中哪个对象表示边框,或者如何检测文本是否是表格的标题吗 private void Extract(ContentScanner level, PrimitiveComposer comp
private void Extract(ContentScanner level, PrimitiveComposer composer)
{
if(level == null)
return;
while(level.MoveNext())
{
ContentObject content = level.Current;
}
}
我正在使用PDF小丑的TextInfoExtractionSample
在下面的代码中,对于object“content”,我将扫描的内容视为text、XObject、ContainerObject,而对于border则没有
while(level.MoveNext())
{
ContentObject content = level.Current;
}
A) 访问所有内容
在循环代码中,您从原始示例中删除了非常重要的块
if(content is XObject)
{
// Scan the external level!
Extract(((XObject)content).GetScanner(level), composer);
}
及
这些块使示例递归到复杂对象(您提到的XObject、ContainerObject)中,而这些对象又包含它们自己的简单内容
B) 检查所有内容
有人知道PDF表格中哪个对象表示边框吗
不幸的是,PDF内容中没有类似于边框属性的内容。相反,边框是独立的对象,通常是矢量图形,可以是直线或非常细的矩形
因此,在扫描页面内容时(递归地,如A所示),您必须查找包含以下内容的Path
实例(namespaceorg.pdfclown.documents.contents.objects
)
- 移动到m,直线移动到l,行程移动到S操作或
- 矩形re和填充f操作
if(content is ContainerObject)
{
// Scan the inner level!
Extract(level.ChildLevel, composer);
}