【发布时间】:2010-03-13 17:00:28
【问题描述】:
我在 SQL Server 2008 数据库中有许多二进制格式的 PDF 文档。我的 ASP.net 页面中有一个 gridview。当用户点击记录的任何 ID 列时,我需要在浏览器中打开 pdf。
有没有免费的 PDF 查看器控件?如何转换二进制 PDF 文件并在浏览器中显示为 PDF。
谢谢
【问题讨论】:
标签: asp.net
我在 SQL Server 2008 数据库中有许多二进制格式的 PDF 文档。我的 ASP.net 页面中有一个 gridview。当用户点击记录的任何 ID 列时,我需要在浏览器中打开 pdf。
有没有免费的 PDF 查看器控件?如何转换二进制 PDF 文件并在浏览器中显示为 PDF。
谢谢
【问题讨论】:
标签: asp.net
只需将内容类型为application/pdf 的数据返回给客户端。客户端将在 Adobe Reader 或安装的任何 PDF 查看器中打开它。
【讨论】:
如果您想获得一致的体验而不想知道用户的浏览器将如何选择处理文件(即内联显示、启动 Acrobat 或尝试保存文件等)...
Google has made its own web-based PDF viewer available for free for embedding. 您可以在您的网站中使用 iframe 版本。
(This is a sample 我使用他们的网络查看器创建的。他们提供缩放、缩略图和页面控件 - 足以轻松浏览文档)
您必须创建一个 ASP.NET 页面来传递 PDF 二进制流,然后向 Google 的查看器提供该页面的 URL。
要通过 ASPX 页面流式传输 PDF,您需要 Google 并搜索此类文章:
基本上它是关于 HTTP 和操作 MIME 类型、页面标题等以及使用可用的 ASP.NET 机制将二进制数据写入响应流。
可能值得单独发布一个关于通过 ASPX 页面流式传输 PDF 数据的问题,因为当前问题可以解释为两部分问题,或者更面向 PDF 查看器。
【讨论】:
使用现代 Web 浏览器(支持 HTML5 Canvas)时,您可以尝试 PDFJS 库 (https://mozilla.github.io/pdf.js/)
【讨论】: