将Javascript写入Response.OutputStream

时间:2011-10-03 14:14:38

标签: c# javascript .net asp.net-mvc-3 printing

目前,我有一个输出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>");

1 个答案:

答案 0 :(得分:3)

您很可能无法将PDF数据与JavaScript混合,因此您需要使用<embed> - 标记嵌入PDF文件,然后使用javascript打印{{内部}内的任何内容1}} - 标记

Here's some information that someone else got working.基本上这是输出的代码(来自上一个来源,但编辑了一点):

<embed>