2012-10-16 85 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的方式。不是他要求的。他需要提取文本。 –