【问题标题】:itextsharp open pdf with another browser windowsitextsharp 用另一个浏览器窗口打开 pdf
【发布时间】:2012-02-12 00:37:00
【问题描述】:

基本上下面是我读取pdf文件的代码,下面这段代码的输出是要求客户端下载pdf文件并从客户端打开它,这不是我想要的,我想要它打开pdf在另一个浏览器窗口或在里面打开

标签在同一浏览器窗口下,但我怎样才能做到呢?

    var fi = new FileInfo(Server.MapPath(@"~/AIA2.pdf"));
    Response.Clear();
    Response.AddHeader("Content-Disposition",
                  String.Format("attachment; filename=\"{0}\"",
                                 "AIA2.pdf"));
    Response.AddHeader("Content-Length", fi.Length.ToString());
    Response.ContentType = "application/octet-stream";
    Response.WriteFile(fi.FullName);
    Response.End();

【问题讨论】:

    标签: c# asp.net itextsharp


    【解决方案1】:

    这不是由服务器来决定如何处理内容 - 内容处置可以设置为附件或内联,但它由处理应用程序来处理这些,我认为任何浏览器都不会这样做。

    我可以为此建议一个两步解决方案:

    1. 使用内联;而不是附件
    2. 在客户端(如果您当然可以控制),请使用类似

    这应该可以解决问题!

    【讨论】:

    • @Digvijay 是正确的,这是客户端的偏好。如果客户端安装了 Adob​​e Acrobat 并且使用的是 IE 或 Firefox,那么默认情况下它将显示内联,尽管有些人(比如我)会立即将其关闭。如果客户端使用的是最新版本的 Chrome,那么它还将使用 Google 的 PDF 渲染器显示内联。我相信 Safari 也是如此。我不认为 Opera 有原生渲染器,但我不能 100% 确定。您可以从服务器端执行的所有操作就是说“我有一些字节,将它们视为 PDF”,并可选择提供“内联”或“附件”的提示。
    猜你喜欢
    • 1970-01-01
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 2020-05-11
    相关资源
    最近更新 更多