如何为MuPDF查看器应用android:textIsSelectable选项?

时间:2014-05-22 13:37:19

标签: android mupdf

如何在MuPdf中获取复制和粘贴选择。

我希望得到如下图像。

enter image description here

1 个答案:

答案 0 :(得分:5)

让我从标准的spiel开始......

MuPDF的核心是用于打开/操作/呈现PDF(和其他)文件格式的可移植C库。它提供了一个C级API。随MuPDF库提供的是各种工具(例如PDF操作/渲染实用程序,以及各种不同平台的示例查看器)。

尽可能将这些工具的所有'智能'封装在核心库中,并且这些工具本身就是这个核心功能的薄外壳。

Android查看器就是这样的一个例子。 UI是用Java编写的,它使用一组JNI函数调用核心来执行所有文件打开/页面选择/渲染等。

现在回答你的问题:

文本选择的逻辑已经存在于MuPDF中。打开PDF,然后从顶部栏中选择最右边的图标“(v)”以查看更多选项。从此处选择“复制到剪贴板”选项。

然后,您可以将手指拖过要选择的文本区域。它将在屏幕上突出显示。然后单击顶部栏中的勾号图标以完成。

然后,您可以交换应用并再次粘贴文本。 (所有这些都假设PDF已经以合理的方式构建,因此我们可以找出页面上每个字形对应的unicode char)。

MuPDF没有提供的是您可以用手指拖动的选择'结束标记'。如果你想要,你需要自己改变android查看器特定的java类。您不需要在MuPDF核心内进行任何更改以支持您想要的内容。您可能需要稍微调整一下JNI类。

对于一个称职的Android应用程序开发人员来说,这可能不是一项巨大的工作,但对于我们来说,提供有关Stack Overflow答案的详细信息太大了。

如果您有更多问题,请随时访问freenode上的#ghostscript irc频道访问我们(如果您没有irc客户端设置,请访问www.mupdf.com获取您可以使用的网站链接向上)。