如何在Nodejs的pdftron中保存注释?

Posted

技术标签:

【中文标题】如何在Nodejs的pdftron中保存注释?【英文标题】:How to save annotations in pdftron in Nodejs? 【发布时间】:2016-08-08 10:58:48 【问题描述】:

我需要上传 PDF,突出显示一些文本,为突出显示的文本添加注释注释,并在 Nodejs 中保存编辑后的 ​​PDF 以及突出显示的文本和注释注释。我在这方面使用PDFTron,它在上传、突出显示和为突出显示的部分写注释之前做得很好,但无法保存数据。

我从PDFTron guide 得到的是单击便笺容器的保存按钮(如果我没记错的话,我正在考虑对其进行注释)将向服务器 URL 发送“POST 请求”以保存便笺。它会在页面重新加载时点击服务器 URL 以加载保存的注释,但不会在同一服务器 URL 上发送任何 POST 请求以在单击保存按钮时保存注释。

这是我的 webviewer 初始化代码:

var myWebViewer = new PDFTron.WebViewer(
    type: "html5",
    path: "/lib",
    initialDoc: "/GettingStarted.pdf",
    serverUrl: "/annotations", //server URL to save & load annotation
    documentType: docType,
    config: "/lib/config.js",
    documentId: "GettingStarted",
    enableAnnotations: true,
    useDownloader: false,
    streaming: false
, viewerElement);

如果我误解了任何步骤或我做错了什么,请指出。

【问题讨论】:

按下保存按钮后,您是否在控制台中看到任何错误?您能否尝试在 exportAnnotations 函数中向 BaseReaderControl.js 添加断点,因为这是发出发布请求的地方,您可以查看该代码是否因某种原因被调用或出错。 点击保存按钮没有错误。似乎保存按钮没有调用任何函数来保存注释。我还没有编辑 BaseReaderControl.js。会看看 【参考方案1】:

在注释侧栏中,有一个下拉菜单(向下箭头图标),您单击该菜单并在那里显示保存按钮。知道这一点,它不是用户友好的,所以创建您自己的按钮并手动触发它。 你可以手动触发它:

myWebViewer.instance.saveAnnotations();

【讨论】:

以上是关于如何在Nodejs的pdftron中保存注释?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用URL提取文档的同时在PDFTron Webviewer中添加请求配置?

删除ThumbnailViewController PDFTron上的编辑按钮

如何在 NodeJS 中保存和显示使用 Multer 包保存的图片?

如何保存 jwt 令牌以在下一个请求中使用?在nodejs中

如何使用nodejs将pdf文件保存在我们的本地项目目录中

如何根据保存的 mongodb 文档数据调度/排队任务 [NodeJS]