相关疑难解决方法(0)

在 CSS 或 JavaScript 中检测打印机的页面大小

问题总结:我希望能够检测用户打印机的页面大小,以便我可以根据打印机的页面大小发送不同的页面布局。

示例用例:我们的用户是企业。一些用户想要打印基本收据(因此他们有小型打印机),而一些用户想要打印发票(即普通的 8" * 11" 页)。根据打印机的页面大小,我们可以识别应该发送到打印机的格式。

CSS 规范:理想情况下,对于不同的页面大小会有一个 CSS 媒体设置。CSS 标准一直致力于此,在CSS 2.1 规范中它说

但是,在选择要打印的介质时,打印机应以 CSS size 属性提供的页面大小值为指导。

CSS 3的规格似乎提供了一个很好的解决方案

/* style sheet for "A4" printing */
 @media print and (width: 21cm) and (height: 29.7cm) {
    @page {
       margin: 3cm;
    }
 }

 /* style sheet for "letter" printing */
 @media print and (width: 8.5in) and (height: 11in) {
    @page {
        margin: 1in;
    }
 }
Run Code Online (Sandbox Code Playgroud)

现实世界的实现:那么这是如何在主要浏览器中实现的。有没有人实施过这个?它适用于哪些浏览器?什么代码实际上有效?

附加信息: 看起来这在一些浏览器中有效。这也适用于页面大小,而不仅仅是横向/纵向。

@media print { @page {size: landscape …
Run Code Online (Sandbox Code Playgroud)

javascript css printing w3c

5
推荐指数
1
解决办法
5748
查看次数

打印:“打印”页面的元

我使用此meta在移动设备上显示我的桌面版本。

<meta name="viewport" content="width=1220">

现在,我也希望将其打印出来。当我要打印页面时,我的屏幕被切成纵向版本。是否有印刷版的中继资料?我如何也可以缩小页面以进行打印?

移动设备的相关问题在这里RWD:缩小显示移动设备的桌面版本,不进行水平滚动

html css printing

5
推荐指数
1
解决办法
5445
查看次数

山水印刷css IE11 mvc5剃须刀

所以我一直在寻找如何打印一个非常基本的剃刀html页面,真的没有找到答案.有问题的页面只有一个常规的html表和一些viewbag数据.在横向模式下打印过去非常简单,所以我很难相信这是一个刚刚消失的功能.我正在使用IE 11和CSS3,一个带剃刀的MVC5项目.它也不需要在任何其他浏览器中起作用.这是我尝试过的所有事情

例1:不改变打印横向,双@是逃避剃刀@用法

 @@media print
{@@page {size: landscape}}
Run Code Online (Sandbox Code Playgroud)

示例2:也不会更改打印横向

@media print{@page {size: landscape}}
Run Code Online (Sandbox Code Playgroud)

例3:对于这一个,我尝试了一系列不同的变化,包括边距和宽度和高度设置.我还尝试将body更改为@page,@@ page以及div ID或类名.它有点工作,但它从不占用整页长度,总是在某个方向或另一个方向上移动.

<style type="text/css" media="print">
         body{
             margin: 150px 10px 20px 50px;
                -ms-transform: rotate(90deg); 
                -webkit-transform: rotate(90deg); 
                transform: rotate(90deg);
             width: 10px;
            }
    </style>
Run Code Online (Sandbox Code Playgroud)

我觉得必须有一种方法可以做到这一点,过去使用这个例子非常简单.

示例4:但是这个也不会改变打印方向,而是给出错误"CSS3.0:size不是已知的CSS属性名称".

    <style type="text/css" media="print">
                 @page {
size: landscape;
}
            </style>
Run Code Online (Sandbox Code Playgroud)

任何帮助都会非常感激,我知道这个主题有几个主题,但是没有一个答案对我有用.这是我检查的线程,我查了更多,但这些似乎有最多样的答案所以我包括它们.

  1. 使用CSS进行横向打印
  2. 如何在横向打印HTML?
  3. 从HTML横向打印

html asp.net-mvc internet-explorer css3 razor

5
推荐指数
0
解决办法
644
查看次数

强制CSS中的横向方向

我设置为横向CSS文件的size属性以横向打印页面

@page {
          margin: 0.1cm;
          size: landscape;
          orientation: landscape;
          size: A4;
Run Code Online (Sandbox Code Playgroud)

有些页面是纵向打印的,有些是横向打印的.

如何使用CSS检测并强制页面在横向打印?

css printing

3
推荐指数
2
解决办法
1万
查看次数

如何设置横向打印的javascript函数?

我试图通过 javascript 将打印方向设置为横向。我只是使用 window.print() 函数来打印页面的内容。这是代码:

<a href="" onClick="window.print();return false">
<img src="images/print.png"></a>
Run Code Online (Sandbox Code Playgroud)

这样我就可以打印样本页了。但只有纵向格式。客户要求它是横向的。所以我尝试了我找到的许多代码。这肯定是您最熟悉的。

<script type="text/javascript">
$("#printLandscape").on('click',function () {
$('head').append('<link href="printLandscape.css" title="printLandscape" rel="stylesheet" />');
});
</script>
Run Code Online (Sandbox Code Playgroud)

由于它不是用于调用打印函数的按钮,而是带有 href 的图像类型,因此我尝试使用以下命令更改前一个按钮:

<a href="" onClick="window.print();return false" id="printLandscape">
<img src="images/print.png"></a>
Run Code Online (Sandbox Code Playgroud)

请参阅 id="printLandscape",我尝试了这一点,以便能够调用上面声明的 javascript 函数,并使页面打印成我想要的横向格式。但当我尝试打印时,看看它是否有效。打印页面仍具有默认/正式或纵向类型。

是不是少了什么东西?或者我没有正确声明 javascript,尤其是 href 上的 id,导致它无法正常工作?

求救

javascript printing jquery ios

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

printing ×4

css ×3

html ×2

javascript ×2

asp.net-mvc ×1

css3 ×1

internet-explorer ×1

ios ×1

jquery ×1

razor ×1

w3c ×1