【问题标题】:Loading large Size PDF on web form takes too much time在 Web 表单上加载大尺寸 PDF 需要太多时间
【发布时间】:2016-05-27 06:51:22
【问题描述】:

我们有一个功能,我们正在尝试在 Web 表单上显示 PDF。为此,我们在 Web 表单上拥有 IFrame 控件,并且在后面的代码中,我们为另一个页面的 Iframe 提供了源代码,在该页面中我们获取需要在内存流中显示的数据,然后使用 Response.BinaryWrite() 方法将这些数据写入页面.但是这种方法在加载大尺寸 PDF 时花费了太多时间,例如40 MB。下面是将内存流写入页面的代码

using ( MemoryStream mStream = myData)
                {
                    if (mStream != null)
                    {
                        Byte[] bytes = mStream.ToArray();
                        Response.ClearHeaders();
                        Response.ClearContent();
                        Response.Clear();
                        Response.Buffer = true;
                        Response.Expires = 0;
                        Response.ContentType = "Application/pdf";
                        Response.BinaryWrite(bytes);
                        Response.Buffer = true;
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }
                }

我们如何提高在网页上加载此类大型 PDF 的性能? 对此有任何建议都会被采纳。

【问题讨论】:

    标签: asp.net pdf iframe response


    【解决方案1】:

    如果大型 PDF 是多个页面,那么您可以尝试的一件事是将它们(重新)保存为线性化(AKA Web 优化)PDF。线性化 PDF 的结构是,首先下载用于呈现要显示的第一页的所有信息,以便在最终用户阅读第一页时可以下载文档的其余部分。

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-24
      • 2022-06-14
      相关资源
      最近更新 更多