Writing Javascript to Response.OutputStream
本文关键字:OutputStream Response to Javascript Writing | 更新日期: 2023-09-27 18:10:23
目前,我有一个控制器动作输出PDF(作为Response.OutputStream.Write()
),这是正常工作的。
然而,我有兴趣在PDF上输出另一个脚本部分以"自动打印"(或简单地执行window.print();
)。
这是可能的,还是有其他的方法来解决这个问题,我可能不知道?
控制器动作:
public ActionResult PrintPDF(string ID)
{
//Population of Model
//Output Result
return PdfResult(model);
}
PDF结果:
var buffer = byteArrayStream.toByteArray();
response.OutputStream.Write(buffer, 0, buffer.Length);
//Is it possible to output something like the following:
response.Output.Write("<script type='text/javascript'>window.print();</script>");
您很可能无法将pdf数据与JavaScript混合,因此您需要使用<embed>
标记嵌入pdf文件,然后使用JavaScript打印<embed>
标记内的任何内容。
这是别人得到的一些信息。基本上这是输出的代码(从前面的源代码,但编辑了一点):
<html>
<body>
<embed id="pdfToPrint" src ="@ViewData.PDFUrl" width="550" height="550"
name="whatever">
<script>
var x = document.getElementById("pdfToPrint");
x.click();
x.setActive();
x.focus();
x.print();
</script>
</body>
</html>