这是我的第一个问题,或者说是问题。我在这所大学的最后一个学期,阅读 PDF 是我为我的论文开发的组成部分之一。
我一直在阅读有关阅读 pdf 文档的问题,但没有可靠的答案。我想知道阅读 PDF 文档的方法是什么?我读到的是,有可用的 API 可以阅读 PDF 文档,例如 PDFBox,muPDF , 和 iText .我没有看到任何其他 API,但这是我在其他帖子上读到的内容。
这里的问题首先是 PDFBox 我读到 PDFBox 不能使用,因为 AWT 依赖项和 android 没有 AWT 和 Swing 相关类。 PDFBox 是不可能的。 muPDF 我没有读过有关 muPDF 的任何内容,有人向我推荐它,但我想知道它是否可用于阅读 PDF 文档。 iText 这是我在 PDF 和 android 相关问题中遇到的最常见的 API。这里的问题是它的许可证?(如果我错了请纠正我)我还没有尝试过这 3 个中的任何一个,因为我想知道除了这 3 个之外是否还有其他解决方案。
如果我没记错的话,除了 API,我认为 PDF Reader Applications 也可以使用?如果可以使用,那么如何使用?。我不是在寻找代码,而是在寻找有关您如何做到以及如何在您的应用程序中实现它的解释。
我想过另一种方法,但我不知道这是否可行。如何将 PDF 文档转换为 .txt 或 .doc 文件?在机器人里面。这就像当我在 android 中加载 PDF 文档时,代码会将 PDF 文档转换为 .txt/.doc 文件,应用程序将从 .txt/.doc 文件而不是 PDF 文档中搜索和提取文本。
如果你问我为什么需要这种组件,因为我正在开发一个应用程序,可以使用 Android 从 PDF 文档中SEARCH 和EXTRACT 文本.
这是我的问题:
PS:如果我错了,请纠正我。
谢谢。
最佳答案
这是一个非常针对 iText 的答案,因此它不会回答您的所有问题,但它可能仍然对您有所帮助。
What are the ways to read a PDF Document in Android?
我使用 iText java 绑定(bind)(继续阅读以了解 LGPL 许可)
What are your experiences in using this kind of method?
太棒了!它涵盖了与 PDF 相关的所有内容。 (旧版本可能有点不同)
How did you do it using this kind of method(just a flow/explanation would do)?
我假设这个问题与您想到的“其他方式”有关,所以它与 iText PDF 库无关?
If the method has a License what would be the problem in the future?
我仍然鼓励您使用 iText 的更新版本,但是如果您使用 iText 2.1.7 或更早版本,它属于旧的 LGPL 许可证,并且具有更多的自由支配权并且更适合商业或私有(private)/封闭使用没有真正的问题。据我所知,您需要的所有功能都在 2.1.7 版本中可用。
当前版本的 iText 的 AGPL 许可证相当不错,据我所知,您确实需要在类似的许可证下发布您的程序,并使代码免费提供给其他人(不过检查细节需要付费),如果共享代码不是问题,那么最新版本的 iText 值得研究。
引用资料:
LGPL 许可证:http://www.gnu.org/licenses/lgpl.html
iText AGPL 许可证:http://itextpdf.com/terms-of-use/agpl.php
关于java - 在 Android 中阅读 PDF 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12906417/
我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
我需要一个表,其中行实际上是2行表,一个嵌套表是..我怎样才能在Prawn中做到这一点?也许我需要延期..但哪一个? 最佳答案 现在支持子表:Prawn::Document.generate("subtable.pdf")do|pdf|subtable=pdf.make_table([["sub"],["table"]])pdf.table([[subtable,"original"]])end 关于ruby-on-rails-PrawnPDF:Ineedtogeneratenested
我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www
我只想对我一直在思考的这个问题有其他意见,例如我有classuser_controller和classuserclassUserattr_accessor:name,:usernameendclassUserController//dosomethingaboutanythingaboutusersend问题是我的User类中是否应该有逻辑user=User.newuser.do_something(user1)oritshouldbeuser_controller=UserController.newuser_controller.do_something(user1,user2)我
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1
一、引擎主循环UE版本:4.27一、引擎主循环的位置:Launch.cpp:GuardedMain函数二、、GuardedMain函数执行逻辑:1、EnginePreInit:加载大多数模块int32ErrorLevel=EnginePreInit(CmdLine);PreInit模块加载顺序:模块加载过程:(1)注册模块中定义的UObject,同时为每个类构造一个类默认对象(CDO,记录类的默认状态,作为模板用于子类实例创建)(2)调用模块的StartUpModule方法2、FEngineLoop::Init()1、检查Engine的配置文件找出使用了哪一个GameEngine类(UGame
这篇文章是继上一篇文章“Observability:从零开始创建Java微服务并监控它(一)”的续篇。在上一篇文章中,我们讲述了如何创建一个Javaweb应用,并使用Filebeat来收集应用所生成的日志。在今天的文章中,我来详述如何收集应用的指标,使用APM来监控应用并监督web服务的在线情况。源码可以在地址 https://github.com/liu-xiao-guo/java_observability 进行下载。摄入指标指标被视为可以随时更改的时间点值。当前请求的数量可以改变任何毫秒。你可能有1000个请求的峰值,然后一切都回到一个请求。这也意味着这些指标可能不准确,你还想提取最小/
HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候