1

我正在使用 javascript 库来使用浏览器呈现 pdf 文件。

这是一个: https ://github.com/mozilla/pdf.js

我无法使用绝对路径作为我要显示的 PDF 的路径。Altough 相对路径可以正常工作。

此调用不起作用:

PDFView.open("D:/Projects/Empenho/Pdf1.pdf", 0);

使用相对路径,我设法让它正常工作:

PDFView.open("https://localhost/MyPDFs/Pdf1.pdf", 0);

打开()函数:

function getDocument(source) {
  var workerInitializedPromise, workerReadyPromise, transport;

  if (!source.url) 
      error('Invalid parameter array, need either .data or .url');


  workerInitializedPromise = new PDFJS.Promise();
  workerReadyPromise = new PDFJS.Promise();
  transport = new WorkerTransport(workerInitializedPromise, workerReadyPromise);

  console.log(workerReadyPromise);

  workerInitializedPromise.then(function transportInitialized() {
      transport.fetchDocument(source);
  });

  return workerReadyPromise;
};

只要系统没有良好的调试系统或良好的文档,我就无法找出问题所在。

我相信有一些与 workerReadyPromise 相关的东西,因为我可以打印对象并在使用绝对 x 相对路径时看到差异。当我使用绝对路径时,workerReadyPromise 状态是:

http://pbrd.co/10VGnuQ 有什么想法吗?

PS。我不确定这是否是相同的情况,但发现了这一点:

使用绝对路径加载 pdf 文档

4

1 回答 1

4

似乎 pdf.js 使用 AJAX 获取您指定的文件。

您不能对 AJAX 请求使用本地文件路径,这似乎是您遇到问题的地方

这个问题的答案解释了原因。

于 2013-01-25T14:15:25.217 回答