【问题标题】:How to show a generated PDF file with in the browser or outside the browser in windows?如何在浏览器中或 Windows 浏览器外部显示生成的 PDF 文件?
【发布时间】:2011-02-02 10:14:12
【问题描述】:

在我的应用程序中,我想在浏览器中或浏览器之外显示一个可打印的 PDF acrobat 文件,而不是保存。默认情况下,在 Firefox 中它会要求保存或打开,我不需要那个对话。我想最好在浏览器之外显示该文件。你能推荐我吗?

谢谢,
瓦拉·库马尔.PJD

【问题讨论】:

    标签: java windows firefox pdf


    【解决方案1】:

    您可以建议浏览器在窗口中显示 PDF,而不是通过Content-Disposition header 提供下载:

    response.addHeader("Content-Disposition", "inline");
    

    “inline”值表明内容被内联呈现(与“attachment”值相反,表明浏览器提供下载它)。

    一旦您向浏览器提出建议,浏览器可能会也可能不会接受您的建议,具体取决于其实施方式以及可能的用户偏好。

    【讨论】:

    • 对不起 T.J.克劳德我没有得到任何积极的结果与内容处置内联
    • @varakumar.pjd:很抱歉听到这个消息。五、奇怪。它在一个非常相似的用例中对我有用。我有一个应用程序,有时我想打开一个包含 PDF 的新窗口,有时我希望浏览器下载 PDF。我有一个指向生成 PDF 的页面的链接,并且我将 target 属性设置为 _blank。我成功地使用该标题来控制用户单击链接时会发生什么。使用标准 IE6、IE7、Firefox 和 Chrome 设置,它似乎可以工作。
    • 你能告诉我Content-Disposition的含义吗,因为我不知道它
    • @varakumar.pjd:StackOverflow 确实需要在链接下划线,我的回答中的“Content-Disposition header”是它的 RFC 链接,它详细解释了它。基本上,它的意思是,“这就是你应该如何处理我发送给你的内容。”
    • Hay,T.J.Crowder 认为“Content-Disposition”、“inline”工作正常,但如何将我自己的名称设置为该 PDF 文件。我写成“Content-Disposition”,“inline; Filename="+getFileName() 但它在 Firefox 中不起作用,但在 IE 中起作用。
    【解决方案2】:

    我不认为这是你可以从你的应用程序控制的东西,我认为这是用户正在使用的环境/浏览器/插件的问题......但是 zou 可以像这样通过 javascript 为你的 pdf 打开新窗口link

    【讨论】:

      【解决方案3】:

      你可以这样做。

              response.setContentType("application/pdf"); 
              InputStream in = new FileInputStream("answerconnect.pdf"); 
              OutputStream out = response.getOutputStream(); 
              byte[] buf = new byte[1024]; 
              int len; 
              while ((len = in.read(buf)) > 0) { 
                  out.write(buf, 0, len); 
              } 
              in.close();
      

      【讨论】:

      • 我看不出这是如何回答这个问题的。您正在发布代码 sn-p(没有上下文!)通过 OutputStream 发送文件。这不是问题所在。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-28
      • 1970-01-01
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多