【问题标题】:Send print job from PHP on Linux to Windows without samba将打印作业从 Linux 上的 PHP 发送到没有 samba 的 Windows
【发布时间】:2014-10-15 10:22:01
【问题描述】:

我有一个在 Linux 服务器上运行的计费 Web 应用程序,客户端从 Windows 终端访问它。客户端需要立即将应用程序中的一些信息(无需任何预览或用户确认)打印到本地打印机(在 Windows 上)。

我知道我可以从 PHP 发送打印作业,但我必须正确设置 samba 并找到正确的驱动程序,并且是一个非常奇怪的打印机,所以这个选项被丢弃了。

我需要某种在 Windows 上运行并且可以通过网络接收打印作业并在本地打印的应用程序。

在此先感谢,并为我的英语不好感到抱歉。

【问题讨论】:

    标签: php html windows printing


    【解决方案1】:

    您可以在要打印的页面上使用以下 javascript:

    <script type="text/javascript">
        window.onload=function(){
            window.print();
            window.location.href = "Location/to/go/to/after/sending/current/page/to/print";
        };
    </script>
    

    【讨论】:

    • 一旦页面被加载,这个脚本就会将页面发送到客户端机器上的当前默认打印机,然后继续到第三行的下一页。 (用户将看到页面的一瞥)。您需要确保已使用适当的媒体 css 格式化页面以获得预期的输出。
    • 这不起作用,网络浏览器一直冻结询问打印机,然后转发到下一页。
    【解决方案2】:

    最后我找到了一个解决方法,我只是在 Firefox 中启用了“静默打印”,如下所示:

    您需要做的就是在客户端浏览器上设置首选项,您 无法通过网络执行此操作,您必须可以直接访问 本地浏览器。

    转到 about:config(在地址栏中输入)

    右键单击任何首选项并选择“新建”>“布尔”

    类型:print.always_print_silent

    点击确定

    类型:真

    重启浏览器。下次启动时 浏览器,任何 javascript print();命令将直接打印到 打印机使用当前配置的打印设置。

    来源:http://forums.mozillazine.org/viewtopic.php?t=48336

    在 Chrome 中,您可以使用标志 --disable-print-preview 创建 chrome.exe 应用程序的新快捷方式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 2018-09-27
      • 1970-01-01
      • 2016-09-12
      • 2015-02-10
      • 2016-08-06
      • 2011-04-01
      相关资源
      最近更新 更多