1

我想通过允许用户一次下载一个页面来利用 pdf 的网络优化。

pdf 配置为快速浏览网页。我正在提供来自 sql server 2008 的 pdf。c# .net 3.5 Web 应用程序将 linq 转换为 SQL 以将文件从数据库加载到二进制数组中。该文件在 IE 客户端的 PDF 阅读器插件中打开。

任何帮助或朝正确方向推动将不胜感激。

谢谢

4

2 回答 2

1

如果您只是想向客户端发送 PDF,请使用以下代码创建一个 aspx 文件:

protected void Page_Load(object sender, EventArgs e)
{
  byte[] pdfdata = GetMyPdfDataSomehow();

  Response.Clear();
  Response.ContentType = "application/pdf";
  Response.BinaryWrite(pdfdata);

  if (NoCaching)
  {
    Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
  }
  else
  {
    Response.Cache.SetExpires(DateTime.Now.AddDays(7));
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetValidUntilExpires(true);
  }
  Response.End();
}

但是,如果您想知道如何逐页拆分 PDF 文件,则需要一些 PDF 库。

于 2009-06-23T04:20:37.023 回答
0

根据 Chris 的回复,返回整个 PDF 只是在 http 响应中返回二进制文件的一种情况。

对于一次页面处理,我建议使用Fiddler2Wireshark之类的东西来查看 http 流量。请求上可能有一些自定义的 http 标头,有点像通过字节范围标头提供的“恢复下载”支持。

您需要逐页观察工作示例,并查看客户端和服务器发送的内容。

于 2009-06-23T07:09:48.007 回答