当前位置 : 主页 > 编程语言 > c语言 >

在C#中从PDF中提取文本

来源:互联网 收集:自由互联 发布时间:2021-06-25
很简单,我需要从多个PDF中删除文本(实际上非​​常多),以便在将内容粘贴到SQL数据库之前对其进行分析. 我发现了一些非常粗略的免费C#库,这些库有点工作(最好用的是iTextSharp),但是有很
很简单,我需要从多个PDF中删除文本(实际上非​​常多),以便在将内容粘贴到SQL数据库之前对其进行分析.

我发现了一些非常粗略的免费C#库,这些库有点工作(最好用的是iTextSharp),但是有很多格式错误,有些字符是乱码的,而且很多时候有空格(”)无处不在 – 里面的单词,在每个字母之间,它们的大块占据了几行,这看起来有点随意.

是否有任何简单的方法可以完全忽略(很可能!)或者是否有一项艰巨的任务涉及将提取的字节值可靠地转换为字母?

这样做可能会有一些困难.问题是PDF是一种重视良好排版的演示格式.假设你只想输出一个单词:点击.

PDF渲染引擎可能会将其输出为2个单独的调用,如此伪代码所示:

moveto (x1, y); output ("T")
moveto (x2, y); output ("ap")

这样做是因为字母T和a之间的默认字距调整(字母间间距)可能不被渲染引擎接受,或者它可能是在字符之间添加或删除一些微空间以获得完全对齐的线.最终导致的结果是,在PDF中找到的实际文本片段通常不是完整的单词,而是它们的一部分.

网友评论