开发者

php serverside printing

开发者 https://www.devze.com 2023-01-18 15:39 出处:网络
Hi I would like to print off a report server side and not client side. I saw that php_printer.dll is how you used to do it but I could not find a binary file for it. How would I print server side. Thi

Hi I would like to print off a report server side and not client side. I saw that php_printer.dll is how you used to do it but I could not find a binary file for it. How would I print server side. This is for an inventory system where the form will be fille开发者_运维技巧d out on the floor and than automatically printed in the stock room.


PHP's printing functionality is documented here: http://www.php.net/manual/en/book.printer.php.

You'll notice under the "Installation" section of that documentation that this extension is not included in the out-of-box PHP installation, but rather is part of the PECL archive.

For whatever weird reason, the PECL archive no longer has a compiled DLL for that extension... but if you search around, you nevertheless can find pre-built DLL's provided by third-parties.

I would NOT trust one provided by any random third-party, because you can't be sure that the DLL includes no malicious code! However, the PHP website itself has a relatively-recent archive of all PECL DLL's which you can download here: http://us.php.net/get/pecl-5.2.6-Win32.zip/from/a/mirror.


Windows printer DLL is here: http://downloads.php.net/pierre/


I found all the existing native PHP variants not very promising. So here is what I do for serverside report printing:

  1. Generate the Reports as PDF file (I use Jasper Reports for that)
  2. Printing the File via Java (Using the Java-Bridge fromn the ZendServer product for that

For 2 I wrote a small Java-Class that is doing the printing of the PDF-File. I use this class directly from my PHP Script via the Java-Bridge.

I can provide you with the Java-Class and the PHP-Code if needed


write the file out to the filesystem (fopen, fputs, fclose) and then shell_exec(lp -c file)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号