java如何在安卓中为pdf查看器制作突出显示、删除线、下划线、绘制、添加文本等注释?
- 安卓 market中的许多应用程序(如RepliGo、Aldiko、Mantano、ezPdf)在其pdf查看器中制作了此类注释,如下图所示李>
- 我尝试了很多方法来实现这个注释,但是失败了。我有一个适用于安卓的pdf查看器和单独的java代码,用于使用iText绘制线条的注释李>
- 我的问题是我能否在安卓中实现iText。如果可能的话,我需要导入哪个包李>
- 在某些应用程序中,画布方法也用于绘制线条。是否可以在安卓中包含此画布方法而不是使用注释?。目标是拥有与注释相同的特性李>
- 在下图(RepliGo PDF Reader)中,他们使用哪种代码进行注释?
# 1 楼答案
您的问题似乎是,在android/java中,哪些方法允许用户在PDF文件上进行注释,因此这里有一种方法适合您,尽管它可能不是最佳解决方案
我想指出的是,实际上并不需要编辑实际的PDF文件,只允许用户添加和查看注释。应用程序可以单独存储注释的数据,为每个文件存储这些注释,并在加载文件时加载它们
这意味着它不会创建一个新的PDF文件,并在其中放置这些注释,而是只存储加载到应用程序中的每个PDF文件的用户数据,并在用户再次加载PDF文件时显示这些数据。(因此,似乎对其进行了注释)
例如:
您的注释类可能如下所示:
因此,您只是将注释显示数据存储在这里,当您加载文件及其相应的(序列化的)注释对象时,您可以使用每个注释来影响在文档中
startPos
和endPos
之间显示字符的方式虽然我已经对两个位置
startPos
和endPos
使用了int
,但是您也可以使用两个或更多变量来引用数组索引、SQLite数据库表索引、简单文本文档的字符位置;无论您的实现是什么,您都可以更改它,以便知道从何处开始注释,以及在何处使用该注释类型结束注释此外,还可以设置属性更改侦听器,以便在更改注释属性时,它们触发方法来更新显示/视图
# 2 楼答案
Pdf注释是一个开放源码,从https://code.google.com/p/pdf-annotation/开始就很好