【问题标题】:How to simply serve a bundled PDF?如何简单地提供捆绑的 PDF?
【发布时间】:2014-01-10 21:03:39
【问题描述】:

我有一个非常简单的 html 文件,只有一个简单的链接

<a href="output.pdf">Get the file</a>

我希望,例如在 Windows 上,用户可以在 Adob​​e Reader 中看到 pdf,就像从浏览器下载和打开一样。

但是当我启动 nw.exe C:\Node-WebKit-Project 并单击链接时,在控制台上我看到了:

资源被解释为 Document 但以 MIME 类型传输 应用程序/pdf:“file:///C:/Node-WebKit-Project/output.pdf”。

如何允许打开pdf?

【问题讨论】:

    标签: node-webkit


    【解决方案1】:

    例如,在您的应用中创建一个链接。 在此链接上设置点击事件处理程序。 使用 pdf 文件的 URL 设置数据属性。 然后使用gui.Shell.openExternal()方法用系统默认应用打开pdf。

    html代码:

    ...
    <a id="pdfLink" data-href="file://file.pdf"></a>
    ...
    

    javascript代码:

    ...
    $('#pdfLink').on('click', function () {
      gui.Shell.openExternal($(this).data('href'));
    });
    ...
    

    【讨论】:

    • 嗨,我在使用 Mac 时遇到了问题。我收到 [17540:0106/113829:WARNING:platform_util_mac.mm(127)] NSWorkspace 无法打开 URL 你能帮忙吗?
    • 您要打开的 URL 是什么?您可以使用打开的工具检查 cpmmand 行,例如打开 看看你的系统能不能打开它。
    【解决方案2】:

    部分答案是确保您的 package.json 文件中包含以下内容

    "webkit": {
      "plugin": true
    }
    

    来源:https://github.com/rogerwang/node-webkit/wiki/Third-party-browser-plugins

    但是,您必须确保 PDF 查看器插件已预安装在系统上,或者与应用程序捆绑在一起。我没有测试过这些。

    【讨论】:

    • 这不是我想要的,我需要用户可以在默认的 pdf 查看器中看到 pdf。我说“我希望,例如在 Windows 上,用户可以在 Adob​​e Reader 中查看 pdf”.. 或者 ubuntu 上的 xviewer,例如。可能我会使用 shell 解决......但我现在无法尝试。不过谢谢你回复我!
    • @Michal Charemza - 知道从哪里获得 PDF 查看器插件吗?
    猜你喜欢
    • 1970-01-01
    • 2018-11-14
    • 2012-11-03
    • 2023-03-13
    • 1970-01-01
    • 2018-12-22
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多