我正在尝试将 XOD 文档加载到 PDFTron WebViewer 中。据我在文档和示例中所读到的,这应该是一个简单的“即插即用”操作——当您指向一个文件时它应该可以简单地工作。理想情况下,在我的示例中,应该从服务中获取文档,如下所示:
fetch('/myservice/GetXOD')
.then(function(data) {
$(function() {
var viewerElement = document.getElementById("viewer");
var myWebViewer = new PDFTron.WebViewer({
initialDoc: data.body
}, viewerElement);
});
});
不幸的是,我收到以下错误:
Uncaught TypeError: Cannot read property 'DisplayModes' of undefined
我在 a 中这样做的原因fetch
是因为我正在渲染 Handlebars 模板,并将数据传递给回调中的实例化。但是,我已将代码隔离到一个“空”的 HTML 文档中,在下面的简化示例中,我只是指向 PDFTron 在页面加载时提供的 XOD(fetch
这次没有)。
$(function() {
var viewerElement = document.getElementById("viewer");
var myWebViewer = new PDFTron.WebViewer({
initialDoc: 'GettingStarted.xod' // Using the XOD provided by PDFTron
}, viewerElement);
});
不幸的是,这会返回一个不同的错误(HTTP 状态 416)。
Uncaught Error: Error loading document: Error retrieving file: /doc/WebViewer_Developer_Guide.xod?_=-22,. Received return status 416.
当我从本地主机上的 PDFTron 运行示例时,会出现相同的错误。
我完全不知道应该如何进一步调试 - 所有示例都假设一切都在开箱即用。
我应该注意,我实际上可以让 PDF 在 localhost 上正常工作,但不能在服务器上工作。XOD 在服务器和本地主机上都有问题。