2012-02-24 201 views
2

如何從Objective-C的PDF頁面獲取文本?如何從PDF頁面獲取文本?

+0

重複的問題。請參閱http://stackoverflow.com/questions/3287635/how-to-parse-pdf-in-objective-c-for-ipad – Avi 2012-02-24 08:36:17

+0

那麼答案在哪裏呢? – demon9733 2012-02-24 08:38:15

+1

@Avram這個問題與從PDF提取文本無關 – hoha 2012-02-24 08:39:27

回答

2

這是用於iOS或OS X的嗎?如果對於OS X,您可以簡單地創建一個Automator工作流程來提取文本,並從您的應用程序調用該工作流程。 Automator具有PDF操作「Extract PDF Text」就是爲了這個目的。 Automator framework允許從你的應用程序調用automator動作。還有一些示例代碼可以在http://rogueamoeba.com/utm/2005/06/03/找到(請注意,實際代碼已經更新以使用Automator框架)。

+0

這是關於iOS的。 – demon9733 2012-02-24 15:26:41

+0

然後如下所述,您需要使用第三方庫或開發自己的庫。除了已經提到的那些,你可能會檢查出https://github.com/KurtCode/PDFKitten/(搜索功能,但也可以提取文本)和https://github.com/mobfarm/FastPdfKit(免費版本作爲付費版本可用) – VsSoft 2012-02-25 13:46:05

4

首先 - 放棄任何用於解析PDF的「快速&髒」解決方案 - 它會失敗。我的同事花了很多時間在iOS上正確地解決這個問題。他的前3名(質量,降序)選項:

  1. muPDF(http://www.mupdf.com/)偉大的圖書館 - 它會做提取罰款。它在GPL下獲得許可,但這對於我們的專有應用來說是一個阻礙。
  2. 基於CGPDFScanner的自制解決方案。你可以找到如何做到這一點的簡短說明here。這種方法的主要問題是SDK本身 - 蘋果公司的PDF API非常嚴格(並且故意懷疑)是有限的。例如,您必須在2D空間中放置提取的文本塊,因爲PDF不能保證繪圖的順序與文本流相匹配,並且iOS SDK在這裏沒有什麼幫助。
  3. Poppler(http://poppler.freedesktop.org/)是可以的,但對於文本提取,它大致等同於第二個選項(具有大量額外的依賴關係)。

可以有更多的選項與Mac OS X,但我不知道他們。

+1

muPDF僅用於查看。 – Jamil 2016-03-21 10:52:40