你如何使用 pdf.js 获取客户端存储的 pdf 的文本内容?

How do you use pdf.js to get text content of client stored pdf?

我正在开发一个需要使用 pdf.js 阅读 pdf 的网络应用程序。我的页面上有一个文件输入,用于选择文件。我有 document.getElementById("...").value 作为 pdf 的 url。当我 运行 它时,它说:

"XMLHttpRequest cannot load c:\fakepath\vocab_list_15_8th_grade.pdf。跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-扩展资源。 awe:1 未处理的承诺拒绝承诺 {[[PromiseStatus]]:"rejected",[[PromiseValue]]:UnknownErrorException}“

我想这是因为文件存储在本地。我该如何解决这个错误?

这与 pdf.js 本身没有任何关系。 pdf.js 恰好在尝试使用 XMLHttpRequest 加载文件。

问题是您给了 pdf.js 本地文件 (c:\fakepath\vocab_list_15_8th_grade.pdf) 的路径。出于安全原因,您的网络浏览器不会让网页加载本地文件,即使该网页也是本地的。解决这个问题的方法是 运行 一个包含您的网络应用程序和 PDF 的本地网络服务器。

如果您安装了 Python,您可以通过 运行ning 非常轻松地完成此操作:

$ python -m SimpleHTTPServer

...从您要提供服务的目录。

但您似乎在 Windows(从您路径中的 C:\ 判断)。我不知道在没有安装 Python 的情况下在 Windows 上 运行 一个简单的网络服务器的最简单方法。