代码之家  ›  专栏  ›  技术社区  ›  Priyank

在网页上呈现PDF

  •  4
  • Priyank  · 技术社区  · 15 年前

    我们正在尝试在Web浏览器中使用 pdfobject JavaScript API。目前,我们试图显示的PDF文件的大小接近10MB。这会在网页上显示PDF文件时造成很长的延迟;同时下载完整的PDF文件。

    我们需要通过实现以下两种选择来消除这种滞后:

    • 显示进度条,直到实际显示PDF。我们找不到触发的事件,可以用来确定PDF是否现在可见。这种缺乏并不能让我们决定何时停止显示进度条/微调器。
    • 或者懒惰地加载PDF,以便在加载第一页时立即显示它。有了它,用户就可以看到正在发生的事情。我们在PDF对象中找不到任何可以让我们执行延迟加载的内容。
    • 用户可选的PDF呈现API;这是一个低优先级,因为我们已经有了完整的代码;但是如果前两个可选方案没有得到满足,我们必须考虑这个选项。所以请随时提出建议。

    关于如何使用户交互变得更直观或更愉快的任何其他想法都是受欢迎的。

    干杯

    3 回复  |  直到 7 年前
        1
  •  2
  •   Peter Eysermans    15 年前

    您可以考虑使用类似于Google文档的工具向用户显示您的PDF。我不知道它是否适用于你的情况。您可以使用它来显示外部PDF文件(未保存在谷歌文档中的PDF文件)。它内置了一个进度条,因此即使加载需要很长时间…

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

        2
  •  1
  •   Fabrizio Accatino    15 年前

    选项3:

    我也有类似的情况。我的PDF更大(100 MB或更多)。 我使用ghostscript创建了jpeg/png预览。该进程占用大量CPU资源,需要磁盘访问。但是用户非常高兴:他们可以在几秒钟内预览非常大的PDF页面。

        3
  •  0
  •   Prof. Falken    7 年前

    现在,浏览器(和CPU!)功能强大,只需使用javascript就可以呈现PDF,还有一些项目利用了这一点。

    尤其是 https://mozilla.github.io/pdf.js/

    至于懒惰的负载,它似乎是你 可以 在文档加载前显示其第一页: PDF JS - Lazy load?