【问题标题】:Is it possible to print files using PHP是否可以使用 PHP 打印文件
【发布时间】:2011-09-04 12:29:24
【问题描述】:

我知道您可以使用 PHP 编写文件,但我想知道是否可以将这些文件直接打印到 Windows 机器上的打印机上。是否有任何预先构建的功能可以做到这一点?

编辑:顺便说一句,我在本地主机上

【问题讨论】:

  • 使用另一个读取您的源文件的 php 文件输出 php 文件代码。在客户端,javascript 可以运行和打印
  • 如果您的应用程序将始终位于本地主机上,那么打印应该可以开箱即用。此外,您可以为打印机和 JavaScript 打印按钮实现特殊的 CSS。

标签: php windows printing


【解决方案1】:

如果您询问是否可以从服务器打印到服务器碰巧连接的机器,那么答案是Yes。 (使用 CUPS 可以让 this 在 Linux/Mac 上工作)。

如果您想在用户的打印机上打印一些东西,您需要使用JavaScript

【讨论】:

  • 实际上在客户端打印也可以在没有 JavaScript 的情况下完成 :) JavaScript 通常只用于打印按钮的实现,这并不一定需要。
  • 是的,实际上 Javascript(Jquery 更好:D)做了我想要的。感谢大家的时间和努力。
【解决方案2】:

如果打印机连接到运行 php 进程的机器上(或通过网络可用并在 windows 中设置),您可以使用 PHP 的 COM functions 进行打印。

【讨论】:

  • 我记得几年前看到过有关 CUPS 和 PHP 打印的东西,但我认为那主要是 Apple/UNIX。
【解决方案3】:

也许在未来会出现Google Cloud Print 这样的新技术。现在,除非打印机直接连接到您的服务器,否则您必须在客户端打印。

【讨论】:

    【解决方案4】:

    是的,它是 - 但仅限于 windows 下:http://php.net/manual/en/book.printer.php

    【讨论】:

    • "这些功能仅在 Windows 9.x、ME、NT4 和 2000 下可用。"好一个;)
    【解决方案5】:

    这是我的解决方案

    1. 为我的情况安装包含 php_printer.dll 文件的旧版本 xampp 我安装 xampp-win32-1.6.8-installer.exe

    2. 在 php foldar 和 apache foldar 中启用 php.ini 的 extintion

    3. 重启你的apache服务器
    4. 运行这段代码

      $printer_name = "80mm Series Printer"; 
      $handle = printer_open($printer_name);
      printer_start_doc($handle, "test_print.php");
      printer_start_page($handle);
      $font = printer_create_font("Arial", 100, 100, 400, false, false, false, 0);
      printer_select_font($handle, $font);
      printer_draw_text($handle, 'This sentence should be printed.', 100, 400);
      printer_delete_font($font);
      printer_end_page($handle);
      printer_end_doc($handle);
      printer_close($handle);
      
      ?>
      

    【讨论】:

      猜你喜欢
      • 2018-04-18
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 2019-03-20
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多