【问题标题】:Rendering PDF on WebPage在网页上渲染 PDF
【发布时间】:2010-04-01 08:27:07
【问题描述】:

我们正在尝试使用pdfobject javascript api 在网络浏览器中加载 pdf 文件。目前,我们尝试显示的 pdf 文件的大小接近 10MB。这会在网页上显示 PDF 时产生很长的延迟;下载完整的 PDF。

我们需要通过实现任一替代方案来消除这种滞后:

  • 在实际显示 PDF 之前显示进度条。我们找不到触发的事件,可用于确定 pdf 现在是否可见。这种缺乏让我们无法决定何时停止显示进度条/微调器
  • 或延迟加载 PDF,以便在第一页加载后立即显示。有了那个至少,用户将有一个关于正在发生的事情的视觉指示。我们在 pdf 对象中找不到任何可以让我们进行延迟加载的内容。
  • 用户替代pdf渲染api;这是一个低优先级,因为我们已经有了完整的代码;但如果前 2 个备选方案未得到满足;我们必须考虑这个选项。所以请随时提出建议。

关于如何使用户交互更直观或更愉快的任何其他想法;会很受欢迎。

干杯

【问题讨论】:

  • 您绝对想在 javascript 中执行此操作?

标签: javascript pdf rendering


【解决方案1】:

您可以考虑使用 Google Documents 之类的工具向您的用户展示您的 PDF。不知道是否适用于你的情况。您可以使用它来显示外部 PDF(未保存在 Google 文档中的 PDF 文件)。它带有一个内置的进度条,所以即使加载需要很长时间......

见:http://googlesystem.blogspot.com/2009/09/embeddable-google-document-viewer.html

【讨论】:

    【解决方案2】:

    选项 3:

    我也遇到过类似的情况。我的 pdf 文件更大(100 MB 或更多)。 我使用 Ghostscript 创建 jpeg/png 预览。该过程非常占用 CPU,并且需要磁盘访问。但用户非常高兴:他们可以在几秒钟内预览非常大的 pdf 页面。

    【讨论】:

      【解决方案3】:

      如今,浏览器(和 CPU!)功能强大到可以仅使用 Javascript 来呈现 PDF,并且有项目利用了这一点。

      特别是https://mozilla.github.io/pdf.js/

      至于延迟加载,您似乎可以在文档加载之前显示文档的第一页:PDF JS - Lazy load?

      【讨论】:

        猜你喜欢
        • 2014-09-18
        • 1970-01-01
        • 2012-07-23
        • 1970-01-01
        • 2022-01-13
        • 1970-01-01
        • 1970-01-01
        • 2013-07-31
        • 1970-01-01
        相关资源
        最近更新 更多