【问题标题】:Rendering pdf file in asp.net page在 asp.net 页面中渲染 pdf 文件
【发布时间】:2014-12-15 01:39:17
【问题描述】:

我正在使用缓冲区将 pdf 文件写入 asp.net 中的页面,我想知道它会覆盖 html DOM 元素。 任何人都可以帮助我如何在页面上呈现 pdf。即使我尝试使用 Web 用户控件。它可以,但会在侧面显示滚动条。

我的目标是在页面中渲染 pdf 文件并在 javascript 中触发 window.print() 函数。

请看下面给出的代码。

string path = Session["fullname"].ToString();                        
                    System.Net.WebClient client = new System.Net.WebClient();
                    Byte[] buffer = client.DownloadData(path);

            if (buffer != null)
            {
                Response.ContentType = "application/pdf";
                Response.AddHeader("content-length", buffer.Length.ToString());
                Response.BinaryWrite(buffer);
                Response.Flush();

            }
            if ((System.IO.File.Exists(path)))
            {
                System.IO.File.Delete(path);

            }                             

感谢高级。

【问题讨论】:

  • 你到底想达到什么目的?
  • 如果您想在页面上显示 pdf,那么您可以使用 iframe 在页面上显示 pdf,然后从客户端触发 javascript 事件。这里是link
  • 我想在使用上述代码渲染 pdf 后在页面或弹出窗口中显示 pdf,然后当我们按下 Ctrl+P 进行打印时,它必须立即触发打印对话框。当我单击一个按钮单击时,应该会发生这些事情。即打印。
  • 我已经使用过 IFrame 但它在打印页面中显示滚动条。如果有任何替代选项可以避免滚动条,请告诉我。
  • 您要保持 iFrame 打开并执行打印操作吗?如果 iFrame 的内容比 iFrame 大,那么用户将如何查看完整的内容?现在,如果您只想打印报告,那就另当别论了。有点不清楚您要达到的目标。

标签: c# asp.net


【解决方案1】:

除非您在客户端上安装了插件,否则您无法在 HTML 页面中显示 PDF 内容。另一种方法是将 PDF 文件转换为 JPEG 格式的单个图像,然后将它们返回给浏览器。 另见Embed Pdf in html5

将以下代码复制并粘贴到 head 标签中:

<script language="Javascript1.2">
  <!--
  function printpage() {
  window.print();
  }
  //-->
</script>

将 onload="printpage()" 添加到正文标签:

<body onload="printpage()">

【讨论】:

  • 嗨,Tarik,无论是图像还是 PDF。它呈现在页面上。但我的目标是在 window.print 渲染后触发它。
猜你喜欢
  • 2013-07-31
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
相关资源
最近更新 更多