【问题标题】:php serverside printingphp服务器端打印
【发布时间】:2010-10-01 18:17:58
【问题描述】:

您好,我想打印报表服务器端而不是客户端。我看到 php_printer.dll 是你以前的做法,但我找不到它的二进制文件。我将如何打印服务器端。这是一个库存系统,表格将在地板上填写,然后在库房中自动打印。

【问题讨论】:

    标签: php windows printing


    【解决方案1】:

    PHP 的打印功能记录在这里: http://www.php.net/manual/en/book.printer.php.

    您会在该文档的"Installation" section 下注意到,此扩展不包含在开箱即用的 PHP 安装中,而是 PECL 存档的一部分。

    无论出于什么奇怪的原因,PECL archive no longer has a compiled DLL for that extension... 但是如果您四处搜索,您仍然可以找到第三方提供的预构建 DLL。

    我不会相信任何随机第三方提供的,因为您无法确定 DLL 不包含恶意代码!但是,PHP 网站本身有一个相对较新的所有 PECL DLL 存档,您可以在此处下载:http://us.php.net/get/pecl-5.2.6-Win32.zip/from/a/mirror

    【讨论】:

    • 耸耸肩...我给了他一个 2008 年 5 月发布的生产版本,你给了他一个 2008 年 12 月的未发布 CVS 快照版本。这两个选项都不是特别棒,所以选择你的毒药。
    【解决方案2】:

    Windows 打印机 DLL 在这里:http://downloads.php.net/pierre/

    【讨论】:

      【解决方案3】:

      我发现所有现有的原生 PHP 变体都不是很有前途。所以这是我为服务器端报告打印所做的:

      1. 将报告生成为 PDF 文件(我使用 Jasper 报告)
      2. 通过 Java 打印文件(为此使用 ZendServer 产品中的 Java-Bridge)

      对于 2,我编写了一个小型 Java 类来打印 PDF 文件。我通过 Java 桥直接从我的 PHP 脚本中使用这个类。

      如果需要,我可以为您提供 Java 类和 PHP 代码

      【讨论】:

      • 您好 Timo,我很想看看您的代码,看看您是如何解决这个问题的。可以发一下吗?
      【解决方案4】:

      将文件写入文件系统(fopen、fputs、fclose),然后是 shell_exec(lp -c file)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-25
        • 1970-01-01
        • 1970-01-01
        • 2013-04-04
        • 2014-07-11
        • 2011-11-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多