【问题标题】:Programmatically set print page orientation to landscape以编程方式将打印页面方向设置为横向
【发布时间】:2010-11-12 16:03:01
【问题描述】:

我们有一个带有“打印机友好”链接的 ASP.NET C# Web 应用程序。有没有办法以编程方式将方向设置为横向,以便用户只需按下打印按钮?

【问题讨论】:

    标签: c# asp.net printing


    【解决方案1】:

    简短的回答是“不”。页面本身不能覆盖用户的打印设置是浏览器的故意限制。这是为了防止我想象的滥用并导致各种头痛。

    一种可能的解决方法是将您的页面输出为 PDF 并呈现。您可以控制 PDF 页面的打印设置。

    【讨论】:

    • +1 用于 pdf 方法。我不得不在工作中使用它,每个人都有杂技阅读器......
    【解决方案2】:

    这是必须在客户端完成的事情(使用 JavaScript/CSS)。

    很遗憾,JavaScript 没有能力做出这种改变。

    CSS 确实可以通过 @page 指令指定横向打印:

    @page {
        size: landscape;
    }
    

    Chrome v15+ 和 Opera v15+ 很好地支持 CSS Paged Media,Firefox v19+、IE8+ 和所有版本的 Edge 都部分支持。但是 Safari 根本不支持它

    https://caniuse.com/#feat=css-paged-media

    【讨论】:

      【解决方案3】:

      不,没有设置方向的编程方式。完全由浏览器处理。

      您可以做的最好的事情是说“我们建议您使用横向(或纵向)打印页面”,并希望用户知道如何自己做。

      【讨论】:

        猜你喜欢
        • 2013-10-08
        • 1970-01-01
        • 2013-05-15
        • 1970-01-01
        • 2012-05-27
        • 1970-01-01
        • 1970-01-01
        • 2011-04-04
        • 2017-11-15
        相关资源
        最近更新 更多