我正在为我的学校开展一个项目,我正在尝试创建一个工具,可以帮助教师使用作业评分器更快地评分作业。我正在考虑尝试找到一种方法来区分普通文本与通过 Kami 创建的文本/作品。 Kami 是一个 Google 扩展,我的学校使用它来允许学生提交已创建的 PDF 的作业。我计划找到每篇卡米文本,并将其与老师给出的答案选项相匹配。但是,我不知道是否可以扫描文档并仅挑选出 Kami 文本。谢谢。
要直接访问 PDF,您必须使用内置 PDF 查看器的未记录的内部命令(getSelectedText 的示例)。您可以尝试使用 Chromium 源代码中的其他命令提取整个文本,并自行检查。
XMLHttpRequest
或
fetch
,更多信息)并使用一些 javascript 库来解析文件。
但是为了回答您的问题,当我们将文本框嵌入 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'));