从网页打印旋转的文本

Fal*_*len 6 html javascript php printing firefox

我运行一个Web应用程序,为用户生成一些报告.对于其中一个报告,我需要打印90度旋转的文本.我尝试了很多方法,但还没有找到正确打印方法.我可以使用下面的css类在90度旋转的弹出窗口上显示文本,但是当它像往常一样被发送到打印机时,文本将旋转到正常形式并打印出来.我理解打印机没有打印的原因,因为它显示在浏览器上,但我有什么方法可以做到这一点?此站点的脚本语言是PHP.

更新:我可以打印在静态页面上旋转的文本,但是当弹出时不能打印旋转的文本.实际上现在我需要帮助打印一个CSS样式完整的页面

编辑:如果我只能通过Firefox打印它,因为客户端使用Mozilla Firefox,它甚至会有用.

.rotate{
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    width:400;
    height:400;
}
Run Code Online (Sandbox Code Playgroud)

这是弹出窗口显示文本以及我想如何打印文本的方式 预习

非常感激!

nma*_*ier 7

嗯......这对我有用......测试:

  • Firefox 23(Win7,OSX)
  • Chrome 28(Win7,OSX)
  • Safari 6(OSX)

不可否认,我实际上并没有打印它,而是将打印输出重定向到PDF(操作系统级功能;与Firefox无关).

确保定义轮换的规则没有附加某些媒体查询,从而禁用它们media="print".

我使用了以下示例文档,它作为一个方便的数据URI:

data:text/html,%3Cp%20style=%22%20-webkit-transform:%20rotate%28-90deg%29;%20transform:%20rotate%28-90deg%29;%20border:%201px%20solid%20red;%20padding:%201ex;%20width:%20100px;%20%22%3Etest%20rotate%3C/p%3E
Run Code Online (Sandbox Code Playgroud)

WFM:旋转打印


Ans*_*shi 6

您可以使用PHP生成旋转文本的图像,然后打印它.关于图像的一个很酷的事情是它根本不依赖于浏览器.有一些解决方案(在这个线程中已经提到)可以工作,但仅在少数最新的浏览器上进行测试.只要浏览器可以打印图像,这个解决方案就不关心浏览器,只有它可以支持可以支持PHP5的服务器.

这是PHP文件(image_gen.php)的外观:

<?php
// create a 100*100 image
$im = imagecreatetruecolor(100, 100);

// Write the text
$textcolor = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
imagestringup($im, 3, 40, 80, $_GET['text'], $textcolor);
header('Content-type: image/png');
// Save the image
imagepng($im);
imagedestroy($im);
?>
Run Code Online (Sandbox Code Playgroud)

看到这个链接......

此文件将文本作为get参数垂直打印,如下所示:

http://example.com/example.html?text=This+Is+The+Text+To+Be+Printed+Vertically

并返回垂直打印的文本图像.因此,您可以在要打印的主HTML文件中执行此操作:

<img src = "image_gen.php?text=Hello world">
Run Code Online (Sandbox Code Playgroud)

请注意:示例代码中指定的值只是样本值,文本和颜色,根据您的目的更改它们...

这就是您将该图像插入HTML文件的方式.现在,当您打印该图像时,您必须按原样打印图像,即使用垂直文本...

在这里,我打印出来并拍下了它的照片,向你展示它确实有效,我知道文字不清楚,但你可以看出它是垂直的.

在此输入图像描述

希望有帮助......