6

这是我的第一个问题,或者更确切地说是问题。我在这所大学的最后一个学期,阅读 PDF 是我为我的论文开发的组件之一。

我一直在阅读有关阅读 pdf 文档的问题,但没有可靠的答案。我想知道阅读PDF文档的方法有哪些?我读到有可用的 API 可以读取 PDF 文档,如 PDFBox、muPDFiText。我还没有看到任何其他 API,但这是我在其他帖子中读到的。

这里的问题是第一个PDFBox我读到 PDFBox 因为 AWT Dependencies 而不能使用,而 android 没有 AWT 和 Swing 相关的类。PDFBox 是不可能的。muPDF我没有读过关于 muPDF 的任何内容,有人向我推荐过它,但我想知道它是否可以用来阅读 PDF 文档。iText这是我在 PDF 和 android 相关问题中遇到的最常见的 API。这里的问题是它的许可证?(如果我错了,请纠正我)我还没有尝试过这 3 中的任何一个,因为我想知道除了这 3 之外是否还有其他解决方案。

除了 API,如果我没记错的话,我认为PDF 阅读器应用程序也可以使用?如果可以使用,那么如何使用?. 我不是在寻找代码,而是对您如何做到这一点以及如何在应用程序中实现它的解释。

我想过另一种方式,但我不知道这是否可能。如何将 PDF 文档转换为 .txt 或 .doc 文件?安卓里面。就像当我在 android 中加载 PDF 文档时,代码会将该 PDF 文档转换为 .txt / .doc 文件,并且应用程序将从 .txt / .doc 文件而不是 PDF 文档中搜索和提取文本。

如果您问我为什么需要这种组件,因为我正在开发一个应用程序,该应用程序将使用 Android 从 PDF 文档中搜索提取文本。

这是我的问题:

  1. 在 Android 中阅读 PDF 文档的方法有哪些?
  2. 您使用这种方法有什么经验?
  3. 你是怎么用这种方法做到的(只是一个流程/解释就可以了)?
  4. 如果该方法具有许可证,将来会出现什么问题?

PS:如果我错了,请纠正我。

谢谢你。

4

2 回答 2

2

这是一个非常特定于 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

于 2012-10-16T03:25:23.910 回答
0

我还在开发一个 Android 应用程序,我需要在我的 android 应用程序中打开 PDF 文件。首先,我考虑通过使用外国 API 来做到这一点。我尝试使用mupdf,但体验不是很好。

然后我们的团队负责人建议我先在你的设备中安装一个pdf查看器应用程序,然后使用代码通过安装的pdf查看器应用程序打开pdf。

您可以从 gogle play 轻松下载 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 文件。

于 2012-10-16T05:32:14.560 回答