2012-10-16 86 views
5

這是我的第一個問題或更確切的問題。我在我的最後一個學期,這個學院和Reading PDF是爲我的論文開發的一個組成部分。在Android中閱讀PDF文檔

我一直在閱讀有關閱讀pdf文檔的問題,但沒有可靠的答案。我想知道閱讀PDF文檔有什麼方法?我讀過的有API可用,可以閱讀PDF文檔,如PDFBox,muPDFiText。我還沒有看到任何其他API,但這是我在其他職位上閱讀的內容。

這裏的問題是第一個PDFBox我讀了PDFBox無法使用,因爲AWT依賴關係和android是沒有AWT和Swing相關的類。 PDFBox是不可能的。 muPDF我還沒有讀過關於muPDF的任何內容,它被推薦給我,但我想知道它是否可用於閱讀PDF文檔。 iText這是我在PDF和Android相關問題中遇到的最常見的API。這裏的問題是它的許可證?(糾正我,如果我錯了)我還沒有嘗試過任何這3還沒有,因爲我想知道是否有這3

以外的API之外的另一個解決方案,我認爲PDF讀者應用也可以使用,如果我沒有誤會?如果可以使用,那麼如何?。我不是在尋找代碼,而是在你的應用程序中如何實現它的解釋。

我想過另一種方式,但我不知道這是否可能。將PDF文檔轉換爲.txt或.doc文件如何?在android裏面。這就好像當我在android中加載PDF文檔時,代碼會將該PDF文檔轉換爲.txt/.doc文件,應用程序將從.txt/.doc文件中搜索並提取文本,而不是PDF文檔。

,如果你問我爲什麼需要這種成分的,因爲我工作的一個應用程序,它會搜索提取使用的是Android PDF文檔文本。

這是我的問題:

  1. 什麼是閱讀Android的一個PDF文件的方式?
  2. 你有什麼使用這種方法的經驗?
  3. 你是怎麼用這種方法做的(只需要一個流程/解釋就可以)?
  4. 如果方法有許可證,將來會有什麼問題?

PS:糾正我,如果我錯了。

謝謝。

回答

1

這是一個非常特殊的iText答案,所以它不會回答你所有的問題,但它可能對你有幫助。

在Android中閱讀PDF文檔有什麼方法?

我使用iText的Java綁定(請繼續閱讀,以瞭解LGPL許可)

什麼是你使用這種方法的經驗?

太棒了!它涵蓋了與PDF相關的所有內容。 (舊版本可能有點不同)

你是怎麼用這種方法做的(只是一個流程/解釋可以)?

我認爲這個問題與您想到的「其他方式」有關,所以它與iText PDF庫無關?

如果該方法有許可證,那麼將來會出現什麼問題?

我還是鼓勵您使用的iText的更新版本,但是如果你使用的iText版本2.1.7或以上它屬於老下LGPL許可證,並擁有更爲自由的統治,更適合於商業或私人/封閉使用,沒有真正的問題。從我可以告訴你的所有功能都可以在版本2.1.7版本中獲得。

當前版本的iText的AGPL許可證相當不錯,根據我的理解,您需要根據類似的許可證發佈您的程序,並使代碼可以免費提供給其他人(但它會支付費用以查看詳細信息),如果共享代碼不是問題,那麼最新版本的iText值得研究。


參考文獻:

LGPL許可:http://www.gnu.org/licenses/lgpl.html

iText的AGPL許可證:http://itextpdf.com/terms-of-use/agpl.php

+0

你能否介紹一下如何在應用程序中使用iText。 –

+0

謝謝你回答我的問題sorifiend。關於問題3'我想知道你是如何在應用程序中使用iText'的,正如SahilmahajanMJ所說。我一定要檢查iText。再次感謝你。 – Christian

+0

順便說一下,關於許可證如果我的應用程序在'Google Play'上傳了,會因爲迭代許可而被取消嗎? – Christian

0

,我還在做一個Android應用程序,在這裏我需要在我的Android應用程序中打開PDF文件。首先我想通過使用外部API來做到這一點。我試圖使用mupdf,但這不是一個好的體驗。

然後,我們的團隊負責人建議我首先在您的設備中安裝PDF查看器應用程序,然後使用代碼通過安裝的PDF查看器應用程序打開PDF。

您可以輕鬆地從gogle遊戲下載PDF閱讀器應用程序,那麼你可以使用下面的代碼在應用程序中打開PDF,

   File file = new File("/sdcard/MyPDFfile.pdf"); 
       Uri path = Uri.fromFile(file); 
       Intent intent = new Intent(Intent.ACTION_VIEW); 
       intent.setDataAndType(path, "application/pdf"); 
       intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(intent); 

該代碼會自動尋找您的設備中安裝的PDF應用並將意圖傳遞給該應用程序來打開PDF文件。

+1

這是android的方式。不是他要求的。他需要提取文本。 –