使用PDFSharp / C#从PDF中提取表格,线条和坐标

时间:2015-07-23 06:42:48

标签: c# pdfsharp

我有几个保存为PDF的报告,其中包含文本和图像之间的几个表格。我不确定这些表是真的是表还是只是行。我尝试使用LibreOffice Writer打开这些文件,它们只是行,但我仍然不确定它是否是Writer在处理PDF表格时的行为或仅仅是行。

如何确保这些表真的是表以及如何提取它们?如果它们只是线条,如何用它们的坐标提取这些线条和文本?

我正在使用PDFSharp。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

PDFsharp并非旨在从PDF文件中提取文本。

在PDFsharp论坛中,您可以找到一些用于此目的的代码:
http://forum.pdfsharp.net/viewtopic.php?p=1603#p1603
http://forum.pdfsharp.net/viewtopic.php?p=4010#p4010

PDF中没有表格。有绘制文本的说明,有绘制线条的说明。

答案 1 :(得分:0)

我知道这是一个老问题,但有人可能需要它

“非常明显”的介绍:
PDF文件是图形对象(例如线条)和文本的流。当渲染PDF时,人眼会理解由于它们之间的线条和文本而存在表格。

(我的)解决方案
从PDF阅读器(iTextSharp)开始,您需要:
1.读取线条(希望只有垂直和水平线条);
2.连接线(一个表的一行可以是几行,例如每个单元一行);
3.了解表格的位置(有时根据您的需要做出一些假设);
4.可选择查找表格外的文本(最好保留所有文本)并将其插入段落中;
5.在表格的单元格中插入文本

如果您需要已经开始编写的内容(为我的pdf工作),您可以在这里找到一些内容https://github.com/bubibubi/ExtractTablesFromPdf
它使用了iTextSharp的GPL版本 在这个项目中,有代码提取行,框,表和表格内容。