【发布时间】:2010-11-12 16:03:01
【问题描述】:
我们有一个带有“打印机友好”链接的 ASP.NET C# Web 应用程序。有没有办法以编程方式将方向设置为横向,以便用户只需按下打印按钮?
【问题讨论】:
我们有一个带有“打印机友好”链接的 ASP.NET C# Web 应用程序。有没有办法以编程方式将方向设置为横向,以便用户只需按下打印按钮?
【问题讨论】:
简短的回答是“不”。页面本身不能覆盖用户的打印设置是浏览器的故意限制。这是为了防止我想象的滥用并导致各种头痛。
一种可能的解决方法是将您的页面输出为 PDF 并呈现。您可以控制 PDF 页面的打印设置。
【讨论】:
这是必须在客户端完成的事情(使用 JavaScript/CSS)。
很遗憾,JavaScript 没有能力做出这种改变。
CSS 确实可以通过 @page 指令指定横向打印:
@page {
size: landscape;
}
Chrome v15+ 和 Opera v15+ 很好地支持 CSS Paged Media,Firefox v19+、IE8+ 和所有版本的 Edge 都部分支持。但是 Safari 根本不支持它
【讨论】:
不,没有设置方向的编程方式。完全由浏览器处理。
您可以做的最好的事情是说“我们建议您使用横向(或纵向)打印页面”,并希望用户知道如何自己做。
【讨论】: