是否可以区分PDF上的Kami文本和普通文本

问题描述 投票:0回答:3

我正在为我的学校开展一个项目,我正在尝试创建一个工具,可以帮助教师使用作业评分器更快地评分作业。我正在考虑尝试找到一种方法来区分普通文本与通过 Kami 创建的文本/作品。 Kami 是一个 Google 扩展,我的学校使用它来允许学生提交已创建的 PDF 的作业。我计划找到每篇卡米文本,并将其与老师给出的答案选项相匹配。但是,我不知道是否可以扫描文档并仅挑选出 Kami 文本。谢谢。

google-chrome google-chrome-extension google-classroom
3个回答
0
投票
  1. 要直接访问 PDF,您必须使用内置 PDF 查看器的未记录的内部命令(getSelectedText 的示例)。您可以尝试使用 Chromium 源代码中的其他命令提取整个文本,并自行检查。

  2. 另一种方法是从 URL 下载 PDF(使用标准

    XMLHttpRequest

    fetch
    更多信息)并使用一些 javascript 库来解析文件。


0
投票
卡米首席执行官在这里。这是一个很好的问题,如果您联系我,我很乐意为您提供帮助(电子邮件是 kamiapp.com 上的名字)

但是为了回答您的问题,当我们将文本框嵌入 PDF 时,Kami 会创建

符合 PDF 规范的文本注释。您可以看出它是用 Kami 创建的,因为它的注释对象还包含字典键“KAMI:comment_b64”或在遗留情况下“KAMI:comment”。它的值包含一个 Base64 编码的字符串,您可以对其进行解码以获取注释的 JSON 对象。

本质上你可以通过在 Javascript 中执行以下操作来解码它的数据:

var b64str = dict.get('KAMI:comment_b64'); var kamiComment = JSON.parse(decodeURIComponent(escape(atob(b64str))));
或者用这个:

var kamiComment = JSON.parse(dict.get('KAMI:comment'));
    

0
投票
我真的很努力地拉了内裤

© www.soinside.com 2019 - 2024. All rights reserved.