我有一个由我的页面生成的 5-80 页 PDF。我有一个字节数组中的这个 PDF,如果需要,我可以临时保存到文件中。
我宁愿不让用户下载然后打印 PDF。有没有一种相当简单的方法可以让用户打印这个文件?最好的情况是我可以以某种方式直接从byte[]
or打印MemoryStream
。
我有一个由我的页面生成的 5-80 页 PDF。我有一个字节数组中的这个 PDF,如果需要,我可以临时保存到文件中。
我宁愿不让用户下载然后打印 PDF。有没有一种相当简单的方法可以让用户打印这个文件?最好的情况是我可以以某种方式直接从byte[]
or打印MemoryStream
。
你应该简单地return File(stream, fileName, "application/pdf")
从一个 MVC 动作。
浏览器将使用适当的插件呈现 PDF,并且(通常)会提供一个打印按钮。
您可以使用该Controller.File
方法返回文件
public ActionResult GetFile()
{
byte[] bytes = GetYourByteArrayForPDF();
return File(bytes, "application/pdf","somefriendlyname.pdf");
}
假设GetYourByteArrayForPDF
您的方法返回 PDF 文件的字节数组。
这会将文件内容直接提供给用户可以打印/保存的浏览器。
从 Web 应用程序中,您不能简单地调用打印命令并在客户端计算机中打印某些内容。除非您有一些 activex 控件(仅 IE 支持)/browser 插件,否则用户必须手动执行此操作。