【问题标题】:MVC print PDF without displaying in view with print dialogMVC 打印 PDF 而不在打印对话框中显示
【发布时间】:2018-09-07 15:16:03
【问题描述】:

我有一个 MVC 应用程序,其目的是让用户单击打印,然后在随后的打印对话框中,验证目标打印机、份数等,然后单击打印。我正在渲染 PDF 文档并因此返回文档:

return File(printJob.Bytes, "application/pdf");

这会在浏览器中很好地显示文档。在 Chrome 和 Edge 中,当用户单击打印时,他们会在打印对话框中获得页面预览。所以用户体验是他们点击打印,查看预览,点击打印,再次查看预览,然后点击打印。有谁知道是否可以在不显示在浏览器中的情况下呈现 PDF 文档,而只是向用户显示打印对话框?

提前谢谢!

【问题讨论】:

    标签: pdf model-view-controller printing dialog


    【解决方案1】:

    当您从网站返回 PDF 时,浏览器将充当 PDF 查看器而不是 Web 浏览器,因此您需要获取 PDF 以请求打开时打印对话框,而不是网站。

    您可以通过将文档 javascript this.print(true) 添加到您正在生成的 PDF 中来实现此目的。

    您可以在 Adob​​e Acrobat 中进行测试,方法是转到 Javascript -> Edit All Javascripts,然后在任何命名函数的顶部粘贴 this.print(true)。

    在 Chrome 上测试并运行,一旦打开 PDF,它就会显示打印对话框。

    Acrobat Javascript 参考是here,对打印功能的参考在第 179 页。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2013-04-05
      • 1970-01-01
      • 2019-03-27
      • 1970-01-01
      相关资源
      最近更新 更多