2012-03-30 146 views
16

去年,我使用PDFBox在Java中创建了一个应用程序来获取某些PDF文件中的原始文本,现在我需要将该应用程序移植到C++。是否有一个C++库从PDF文件(如PDFBox for Java)中提取文本?

我想知道什么是最好的C++替代方案来完成我所需要的。

我举个例子的情况下,它可以帮助:

大多数文件将是这样的:http://www.jumbala.net/backup/league.pdf

随着PDFBox的,使用该文件中,每一行读第2页和最多3页会输出一行的所有数据,用空格分隔,而不是像现在一样将它保存在网格中。

所以在第2页第一行有关是这样的:

FB 847 - Tremblay, Gérard 179,63 56 16167 90 268 s27 p3 669 s14 199 223 193 615 

或类似的东西,因为有在它们出现的顺序细微的变化,但我不只要关心这个类似的行输出相同,因为我只是解析它们并将我需要的值放入不同的变量中。

因此,了解所有这些,是否有一个库可以在C++程序中使用以获得类似的结果?

编辑:看着sacredFaith的链接http://www.codeproject.com/Articles/7056/Code-to-extract-plain-text-from-a-PDF-file并试图后,我越来越喜欢这样一个奇怪的输出,因为我前面提到的示例文件:

http://www.jumbala.net/backup/league.pdf.txt

的部分我真的需要在开始的时候都是奇怪的角色。使用Adobe Acrobat Reader X和使用另存为...文本(访问),我得到以下结果:

http://www.jumbala.net/backup/league_good.pdf.txt

这大约是我在Java中得到使用PDFBox的什么,我想作为输出在C++中。

+0

也许这可以帮助http://stackoverflow.com/questions/3784554/creating-a-pdf-reader-in-c – grifos 2012-03-30 23:08:45

+0

@grifos我看着它,我可能会稍后详细看它,但我宁愿有一个已经制作好的库,因为我不想阅读整个PDF规范文档。不过,您发布的伟大链接,稍后可能会派上用场,谢谢! – 2012-03-31 14:27:15

+0

在链接中,他们还提供了一个关于C++库PoDoFo的功能,它允许您解析pdf并提取信息。 – grifos 2012-03-31 15:14:05

回答

10

Xpdf是一个C++应用程序/库,其中包括工具来提取从PDF文件中明文。

+5

我刚刚从命令行下载了预编译的Xpdf版本和.exe,效果很好,我得到了我想要的输出(甚至比使用PDFBox更好,如果我使用-layout选项)。我有一个问题,虽然...有没有一个地方,我可以看到如何调用代码中的方法而不是使用.exe?我会自己看,但是因为你似乎对图书馆很熟悉,如果你能告诉我该从哪里开始寻找,那会更好。非常感谢! – 2012-03-31 14:37:39

+0

XPDF团队提供其库的商业版本以及可选支持http://www.glyphandcog.com/XpdfText.html – 2015-02-24 11:47:43

2

我从来没有用过以下,但一些谷歌搜索后,我发现这一点:

http://www.codeproject.com/Articles/7056/Code-to-extract-plain-text-from-a-PDF-file

+0

我会看看它,谢谢!我会将你的答案标记为已接受,只要我能按照自己的意愿进行操作即可! – 2012-03-30 23:21:09

+0

不幸的是,我只是试了一下,它不按我想要的方式工作(文本的一些部分很好,但大部分文档都是由奇怪的符号组成的) – 2012-03-31 13:39:11

+1

对不起,该男子!感谢Charles,看起来你找到了你想要的东西! – sacredfaith 2012-04-02 19:12:45

3

因为这就是你要找的:PoDoFo是解析/读取/修改或创建PDF文件的C++库。图书馆是跨平台的。