【问题标题】:PDF Binary Display on Page [closed]页面上的 PDF 二进制显示 [关闭]
【发布时间】:2009-10-19 11:45:15
【问题描述】:

我在 SQL Server 表中有一个二进制存储,在那里我有 PDF 文件(二进制),我想做的是在“DIV”的网页上显示 PDF。我不希望用户必须按打开才能在 acrobat 阅读器中打开。我想要一个他们单击的小缩略图,然后打开一个模型窗口,其中 PDF 文档显示为图片。有谁知道如何实现这一点,或者是否有任何组件可以做到这一点?

【问题讨论】:

    标签: c# .net asp.net sql-server


    【解决方案1】:

    要在浏览器中显示 PDF,您需要使用 <object><embed> html 标签。

    您可以使用它来指向要显示的 PDF 文件 URL。

    如果您的 PDF 位于某个二进制存储中并且无法从浏览器链接,您将需要构建一个页面(或 HttpHandler)来获取二进制数据并输出文件内容,以便可以通过 URL 链接。看看使用“Response.Binarywrite”提供文件。

    【讨论】:

      【解决方案2】:

      您正在寻找光栅化。我使用DynamicPDF's rasterizer 取得了不错的成功,但它并不便宜。

      【讨论】:

      • 如果您想显示页面的图像版本,是的,您需要对页面进行光栅化。但是,如果您不想为库付费,您可以在自己的服务器上使用 GhostScript,这是免费的。
      • 您也可以使用图像打印机驱动程序来获得类似的效果,周围有一些免费的。
      • 使用网络应用程序中的图像打印驱动程序只是自找麻烦。在负载下保持运行非常困难。我之前也使用过直接 GS 方法——只要你通过生成 GS 进程(不使用 API)或设置队列来一次执行它们,它工作正常,但两者都开始崩溃在负载下。使用托管代码进行光栅化并没有什么不同(仍然很慢!),但它的扩展性确实更好一些。您可能必须使用任何方法进行预光栅化和缓存以确保可扩展性。
      【解决方案3】:

      看起来PDF.js 可能对您有用,这是一个将 PDF 呈现到 HTML5 画布的 JavaScript 库。

      【讨论】:

        【解决方案4】:

        我们发现TallComponents PDF Rasterizer 非常有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-06
          • 1970-01-01
          • 2018-04-26
          • 1970-01-01
          • 2011-06-30
          • 2021-04-01
          • 2019-02-14
          • 1970-01-01
          相关资源
          最近更新 更多