首页 > 解决方案 > PHP 7.1.1 - 所有打印机功能不工作

问题描述

我正在尝试使用 PHP 打印我在本地机器上使用 php 版本 7.1.1 xamp。我已经看到了很多答案或解决方案,但它们没有用。一些解决方案包括下载和安装 php_printer.dll,但我仍然失败。我试过打印机列表(),打印机打开();这项工作的修女。我得到致命错误:未捕获的错误:调用未定义的函数printer_list()等等。

 ///////////////////////////example 1//////////////
//////////////////////////////////////////////////
$print_data = $_POST['zpl_data']; 
try
{
    $fp=pfsockopen("10.136.3.64",0001); //9100
    fputs($fp,'test');
    fclose($fp);

    echo 'Successfully Printed';
}
catch (Exception $e) 
{
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

 /////////////////example 2////////////////////////////
/////////////////////////////////////////////////////////
$handle = printer_open('\\\\192.168.2.206:9100\\'); 
printer_set_option($handle, PRINTER_MODE, "RAW");
printer_write($handle, "TEXT To print"); 
printer_close($handle);
$printer_name = "Your Printer Name exactly as it is"; 
$handle = printer_open($printer_name);
printer_start_doc($handle, "My Document");
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);

///////////example 3 ///////////////////////////
///////////////////////////////////////////////
 var_dump(printer_list(PRINTER_ENUM_LOCAL | PRINTER_ENUM_SHARED));

标签: phpoopzebra-printersphp-7.1

解决方案


那是因为您没有安装打印机 PECL 软件包。

http://php.net/manual/fa/printer.installation.php https://pecl.php.net/package/printer

另请注意,这仅适用于 Windows。

顺便说一句,我不会使用它。构建 PDF 并使用命令行命令打印它,例如http://www.columbia.edu/~em36/pdftoprinter.html

恕我直言,更容易,甚至可以使用网络打印机。


推荐阅读