从 SQL varbinary 字节服务 PDF

发布于 2024-07-25 03:47:35 字数 227 浏览 5 评论 0原文

我想利用 pdf 的网络优化,允许用户一次下载一页。

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

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

谢谢

I am want to take advantage of the web optimization for pdfs by allowing users to download them a page at a time.

The pdfs are configured for fast web view.
I am serving the pdfs from sql server 2008.
The c# .net 3.5 web app untilises linq to SQL to load the files into a binary array from the database.
The file is opended in PDF reader plugin on the client in IE.

Any help or a shove in the right direction would be greatly appreciated.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

墨离汐 2024-08-01 03:47:36

如果您只想将 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 库。

If you simply want to send a PDF to the client, create an aspx file with this code:

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();
}

However, if you want to know how to split the PDF file up page by page, you'll need some PDF library for that.

云柯 2024-08-01 03:47:36

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

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

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

Returning an entire PDF is simply a case of returning the binary on the http response, as per Chris's reply.

For the page-at-a-time handling, I would suggest using something like Fiddler2 or Wireshark to look at the http traffic. There may be some custom http headers on the requests, a bit like the "resume download" support via the byte range headers.

You would need to observe a working page-by-page example, and look at what both client and server send.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文