用php直接打印

时间:2012-10-24 08:07:45

标签: php

我尝试直接用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');

1 个答案:

答案 0 :(得分:1)

嗯......您的内容包含所有代码,并且您向打印机提供了text类型的输出。

当然它会打印出来。

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


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

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

或者找到here的PHP类:

require_once( 'PrintIPP.php' );

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

$ipp->printJob();