1

我希望能够使用PDF.js在我的 Chrome 应用程序中显示 PDF 文件,但文档不存在。我一直找不到任何简单的示例或教程来显示从相对 URL 加载 PDF、显示页面和浏览 PDF 的代码。他们有非常复杂的示例,其中 95% 的代码执行其他操作,并且很难解析这些代码并找到相关函数。我想:

  1. 在我的应用程序中包含相关代码(这是由“node make generic”创建的“pdf.js”吗?还是我还需要包含其他 JS 文件?)

  2. 能够显示我的文件中的 PDFmyapp.crx文件

  3. pdf.js 是否需要“LocalStorage”?Chrome 扩展程序/应用程序中是否会继续允许 localStorage 或已弃用?

有人可以告诉我#2 是否可行,以及如何找到一些示例代码或文档,了解要调用的正确类/函数和要包含/构建的文件吗?

4

2 回答 2

1
  1. node make generic输出到build/generic目录。该目录包含两个子目录,“build”和“web”。
    “build”包含“pdf.js”,它是实际的 PDF 引擎。
    “web”包含一个查看器,类似于http://mozilla.github.io/pdf.js/web/viewer.html中的查看器。

  2. 将这两个先前的目录复制到您的应用程序后,您应该能够使用加载 PDF 文件chrome.extensi/web/viewer.html?file=path%2Fto%3Ffile.pdf

  3. PDF.js 不需要localStorage。如果可用于滚动位置等持久设置,则使用它,但如果不可用,则 PDF.just 在没有它的情况下继续工作。

但是有一个重要问题:PDF.js 使用同步 XMLHttpRequest 加载本地化文件。Chrome 应用程序中不允许这样做。您可以通过序列化 中的所有文件locales、将其放入单个 JavaScript 文件、将其加载到 viewer.html 中并简化l10n.js从我刚刚描述的文件中读取翻译来解决此问题。

于 2013-07-17T22:57:53.590 回答
0

澄清一下:通常你应该能够通过在 CRX 的内部目录结构中提供相对或绝对路径来访问烘焙到 CRX 中的文件,例如:

'我的文件/pdfs/example.pdf'

使用 PDF.js,我想这就是上面 Rob 的答案中的“path-to-file.pdf”应该是逐字逐句的。

于 2013-07-18T18:15:41.890 回答