【问题标题】:print directly from iis using php aplication to printer through server not browser to a shared printer使用php应用程序直接从iis打印到打印机通过服务器而不是浏览器到共享打印机
【发布时间】:2022-01-15 15:43:27
【问题描述】:

我用 PHP 语言在 iis 上编写了一个应用程序。 这个应用程序是食物预订。 此应用程序必须从面部读取器设备获取数据,然后将打印件发送到热敏打印机。 这个应用程序可以从面部阅读器设备获取数据,但我的问题是当我想将打印发送到共享的打印机时,我无法实现。 其实我想用php和iis发送一个文本文件到共享打印机(不是通过浏览器)我想问你解决办法是什么?

我已经阅读了很多文章,但到目前为止我都无法做到。 请注意,我想使用 php 发送打印并且不使用浏览器。 并且必须使用php直接发送到打印机。

系统规格:

IIS v 8.5

PHP v 5.6.31

windows server 2012 r2

我已经测试了下面的代码,我遇到了如下问题:

1-通过excec函数直接发送打印到打印机:

exec(' notepad /PT "c:\inetpub\wwwroot\test\goodtest.txt" "\\\192.168.10.21\BIX"')

问题是当我使用这种方法时,我无法在 windows server 2012 r2 中发送打印。

2-通过bat文件发送: 一个 bat 文件包含以下代码:

 notepad /P "c:\inetpub\wwwroot\test\goodtest.txt"

一个php文件包含这些代码:

system("cmd /c c:\inetpub\wwwroot\test\d.bat");

代码不起作用。

3- 通过不起作用的打印 php 扩展发送。

所以请指导我如何使用 php 和 iis不通过浏览器将打印件直接发送到打印机到共享打印机

一些答案​​解释了网络打印机,但我问的是共享打印机而不是网络打印机。 非常感谢。

【问题讨论】:

标签: php iis printing


【解决方案1】:

4 周后,我找到了解决方案。 这是一种使用共享打印机的方法。 使用 mike42 escpos github 插件。

require 'vendor/autoload.php';
use Mike42\Escpos\Printer;
use Mike42\Escpos\PrintConnectors\FilePrintConnector;
use Mike42\Escpos\CapabilityProfile;
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;


$connector = new WindowsPrintConnector("smb://computername/printername");
$printer = new Printer($connector);

$printer -> text("hello world");
$printer -> text("\n");
$printer -> text("\n");
$printer -> text("hello again");
$printer -> cut();
$printer -> close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2021-02-22
    • 2019-08-25
    • 2015-09-14
    • 2011-06-24
    相关资源
    最近更新 更多