用PHP打印内容

时间:2011-03-17 12:10:59

标签: php

我无法找到有关如何使用打印机打印文件的主题。 首先,我不是说打印像回声,而是真正的打印机。

我想让用户点击一个按钮,然后开始打印页面。

与javascript:window.print()相同,但与PHP相同。有这样的选择吗?

谢谢!

4 个答案:

答案 0 :(得分:1)

PHP在服务器端工作,因此无法在客户端打印任何内容。它实际上不能在客户端执行任何,除了通过生成的HTML,CSS,JavaScript等,PHP 可以 talk to a printer但是它据我所知,它将是一台服务器端打印机。

因此,如果您希望用户在他们的打印机上单击按钮来打印页面,那么它必须是客户端的东西。例如JavaScript。

答案 1 :(得分:1)

由于PHP是服务器端脚本语言,因此无法实现。

答案 2 :(得分:1)

您的意思是在服务器端或客户端进行打印吗?

对于客户端,您可以包含一个调用您提到的JS函数的javascript片段:

<?php
print '<input type="button" value="Print this document" onclick="window.print();" />\n';
?>

对于服务器端:它肯定更复杂。你可以找到一个PHP接口,例如到CUPS(标准UNIX打印系统)或调用打印文档的系统程序。 Svish发布了一个指向 CUPS界面的链接,据我所知一个在MS Windows中打印的界面(当然,只有当服务器在Windows下运行时才有用)。

编辑:如果您希望找到一个解决方案,打印客户端浏览器呈现的页面PHP输出,但不打印在客户端上,而是打印在服务器上 - 这应该是不可能的。我想你可以实现向PHP的输出发送一个渲染页面本身的系统程序,但它永远不会像在客户端上那样100%。也许可以接受在服务器上调用打印程序,将所有必要的信息传递给它,并且它会呈现一些自己的文档,例如: RTF文本文件?

答案 3 :(得分:0)

您不能让用户使用PHP从他的打印机打印文档。

如果不希望打印文档的设计,您可以添加打印样式表。

或者拥有适合打印的页面。 例如;传递一个名为printer的get变量将让你的php脚本回显你页面的另一个设计。

如果您正在谈论服务器端打印机,您可以。