2

我尝试使用 php 库 php_printer.dll 直接打印,我的问题是我的打印机打印奇怪的单词而不是 PDF 文件。

这是我的代码:

    <?php

    $printer = ("Epson Printer");
    if($ph = printer_open($printer))
    {
       $file = file_get_contents('receipt.pdf', FILE_USE_INCLUDE_PATH);
       printer_write($ph, $file);
       printer_close($ph);
    }
    else "Couldn't connect...";
    ?>

更新
现在我在 Windows 7 上尝试使用此代码,但打印不开始:

shell_exec( 'print /d:EPSON MFC-J265W c:\file.txt');
4

1 回答 1

1

好吧...您的内容包含所有标签,并且您正在向text打印机提供类型输出。

当然它会像那样打印。

如果您只想直接打印 text Write a test 20012-10-24,那么您可能需要在另一个 PHP 文件中创建它,使用 ie 读取输出,file_get_contents然后使用收到的结果进行打印。


现在打印 PDF 文件是一个完全不同的问题。您可以通过 shell 执行打印它:

shell_exec( 'lpr /path/to/file/filename.pdf' );

或者在这里找到一个 PHP 类:

require_once( 'PrintIPP.php' );

$ipp = new PrintIPP();
$ipp->setHost( 'localhost' );
$ipp->setPrinterURI( '/printers/epson' );
$ipp->setData( '/path/to/file/filename.pdf' );

$ipp->printJob();
于 2012-10-24T08:11:22.770 回答