【问题标题】:Mupdf highlight text to same areaMupdf 将文本高亮显示到同一区域
【发布时间】:2014-09-22 09:11:22
【问题描述】:

同一区域的文字多次操作,文字逐渐模糊

这是一个非常明显的错误。

我该如何解决?

没有。

【问题讨论】:

  • 我有没有人可以再次显示的问题? issue-Image -> bugs.ghostscript.com/attachment.cgi?id=11169 谁能帮我看看?

标签: android highlight mupdf


【解决方案1】:

恐怕你的问题对我来说没有多大意义。 “在同一文本区域进行操作”是什么意思?

也许如果您共享了 PDF 文件的副本,并解释了您在做什么,我们可以查看它。

【讨论】:

  • 当我选择要突出显示的部分文本时,我会再次突出显示同一位置。突出显示的文本将被模糊。我不知道我说过这会让你明白。
  • 这是什么操作系统?您使用的是从 Artifex 下载的标准 MuPDF 二进制文件,还是您自己构建的?如果您自己构建,这个 your 应用程序是使用 MuPDF 还是我们的演示代码?您能否将示例 PDF 文件发布到公共 URL,以便我们尝试复制它。
  • 高亮注解使用透明度,如果你反复应用高亮,那么文字会变暗,可能是这个意思?
  • 是的!我是说你说的。抱歉,我没有那么多媒体上传权限。不知道怎么上传apk文件。
  • 嗯,这看起来不像是一个错误。使用透明度应用突出显示,因此如果应用两次,背景会变得更暗。如果你不想那样,那就不要这样做。通过突出显示两次很难看到您获得了什么。哦,我不是要的是apk,而是一个可以用来演示问题的PDF文件。
【解决方案2】:

我已经通过告诉 mupdf 编写高亮注释来“解决”这个问题,以便使用乘法颜色混合来渲染它们。然后它们将出现在文本“后面”,因为当您将颜色相乘时,黑色会保持黑色。

为此,您可以进入 source/pdf/pdf-annot.c 和函数中

pdf_annot *
pdf_create_annot(pdf_document *doc, pdf_page *page, fz_annot_type type)

之后

if (annot_arr == NULL)
{
    annot_arr = pdf_new_array(doc, 0);
    pdf_dict_puts_drop(page->me, "Annots", annot_arr);
}

添加类似的东西

if (type == FZ_ANNOT_HIGHLIGHT) {
        //Say that we want this to be renderd "behind" the text, i.e., in multiplicative mode
    pdf_dict_puts_drop(annot_obj, "BM", pdf_new_name(doc, "Multiply"));
}

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2011-07-22
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2018-09-23
    • 1970-01-01
    • 2020-04-08
    • 2016-08-25
    相关资源
    最近更新 更多