2012-03-30 47 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++庫。圖書館是跨平臺的。