pdf.js 是否仅适用于某些 pdf?
Does pdf.js only work with certain pdfs?
我正在尝试使用 pdf.js
将 pdf 页面转换为 canvas。我使用了 Render .pdf to single Canvas using pdf.js and ImageData by K3N to achieve this. The code is avaliable here Fiddle1 中的答案。
问题是这似乎只适用于某些 pdf。
例如,代码适用于 http://arxiv.org/pdf/1207.0102v2.pdf in Fiddle2。
然而,当我为 http://infolab.stanford.edu/pub/papers/google.pdf in Fiddle3 尝试相同的代码时,它失败了。
为什么会发生这种情况,是否可以解决?
它应该适用于所有 pdf 文件,除非它们已损坏。你这里的错误是:
XMLHttpRequest cannot load http://infolab.stanford.edu/pub/papers/google.pdf. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.
换句话说,您不能以这种方式加载它,因为 http://infolab.stanford.edu/pub/papers/google.pdf
不允许您这样做。当您将它安装在您的服务器上并以适当的响应加载它时 headers,它很可能会工作。
有关此错误的详细信息,请参阅 Why am I seeing an "origin is not allowed by Access-Control-Allow-Origin" error here?
如果您不托管这些文件,您可以通过代理(可以是 third-party 应用程序或您的服务器)传输它们。例如,Ivan Žužak, developed urlreq
——在这种情况下完全可以满足我们需要的工具。
不要使用直接 link 到 pdf 文件,而是使用 Ivan 的代理 url:
http://urlreq.appspot.com/req?method=GET&url=http%3A%2F%2Finfolab.stanford.edu%2Fpub%2Fpapers%2Fgoogle.pdf
我正在尝试使用 pdf.js
将 pdf 页面转换为 canvas。我使用了 Render .pdf to single Canvas using pdf.js and ImageData by K3N to achieve this. The code is avaliable here Fiddle1 中的答案。
问题是这似乎只适用于某些 pdf。
例如,代码适用于 http://arxiv.org/pdf/1207.0102v2.pdf in Fiddle2。
然而,当我为 http://infolab.stanford.edu/pub/papers/google.pdf in Fiddle3 尝试相同的代码时,它失败了。
为什么会发生这种情况,是否可以解决?
它应该适用于所有 pdf 文件,除非它们已损坏。你这里的错误是:
XMLHttpRequest cannot load http://infolab.stanford.edu/pub/papers/google.pdf. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fiddle.jshell.net' is therefore not allowed access.
换句话说,您不能以这种方式加载它,因为 http://infolab.stanford.edu/pub/papers/google.pdf
不允许您这样做。当您将它安装在您的服务器上并以适当的响应加载它时 headers,它很可能会工作。
有关此错误的详细信息,请参阅 Why am I seeing an "origin is not allowed by Access-Control-Allow-Origin" error here?
如果您不托管这些文件,您可以通过代理(可以是 third-party 应用程序或您的服务器)传输它们。例如,Ivan Žužak, developed urlreq
——在这种情况下完全可以满足我们需要的工具。
不要使用直接 link 到 pdf 文件,而是使用 Ivan 的代理 url:
http://urlreq.appspot.com/req?method=GET&url=http%3A%2F%2Finfolab.stanford.edu%2Fpub%2Fpapers%2Fgoogle.pdf