javascript - 通过 pdf.js 查看器(画布)向文本层(div)添加 Javascript 调用
问题描述
我想将交互性叠加在由pdf.js
.
我正在考虑的方法是将 Javascript 调用添加到文本层中<spans>
呈现的文本层<div>
中,以启用文本突出显示和选择。pdf.js
<canvas>
我从gh-pages.zip
模板开始,向app.js PDFViewerApplication.run() 方法添加代码,如下所示:
run(config) {
this.initialize(config).then(function() {
webViewerInitialized();
console.log(PDFViewerApplication);
PDFViewerApplication.pdfDocument.getPage(1);
PDFViewerApplication.pdfViewer.viewer.children[1].outerHTML =
'...<span style="left: 72px; top: 98.5212px; font-size: 11.9552px; font-family: sans-serif; transform: scaleX(0.895184);" onclick="console.log(\'Hence, recording and compiling a trace\')">Hence, recording and compiling a trace</span>...';
});
},
pdfDocument
是null
,所以该getPage
行返回:
未捕获(承诺中)TypeError:无法在 eval 时读取 null 的属性“getPage”(app.js:481)
children[1]
是undefined
,包括如果我滚动到右侧页面然后刷新(pdf.js 会自动滚动到上次显示的相同位置)。
我假设pdfDocument
并且children
可能会异步填充,但我不知道如何等待,并且我假设有更好的方法来编辑文本层<spans>
?
解决方案
推荐阅读
- c# - 将 Siemens PLC (S7-1200) 中的真实数据类型转换为在 Visual C# Windows 窗体中显示
- c++ - 如何检查两个向量是否有共同元素而不重复?
- nginx - NGINX / Gunicorn:返回 JSON 格式的错误消息
- git - Git结帐权限被拒绝
- javascript - 代码拆分将所有捆绑包加载到 html 中
- rest - AEM 6.5.2 与 Mulesoft 集成
- core-data - SwiftUI 中的手动核心数据请求
- r - R如何在初始group_by之后总结两个不同的组
- angular - Angular No Token 发现返回 404
- javascript - 无法访问 react-redux 中对象内的嵌套数组