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