This wrapper class is a gift for my blog readers. I think the class is self descriptive. This is why I ain’t write how to use it bla bla bla…You can make pcl and ps files from html with this class. I have submitted this class at phpclasses too. You may have a look by clicking HERE. It runs both on Windows and *Nix envioronment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <?php /* Description of wrapper class Html2pcl * This class is used to produce .PCL and .PS file from HTML file * @Author : Nurul Ferdous * Version : 1.0.0 * Date : 16 Dec 2008 * License : Freeware * Dependancy-1: html2ps package, you may get it from here: http://user.it.uu.se/~jan/html2ps.html * you may install it from terminal by typing "sudo apt-get install html2ps" withpcl quote in kubuntu (in my case) * html2ps uses perl * Dependancy-2: Ghostscript, you may get it from here: http://pages.cs.wisc.edu/~ghost/ * Download it and run "make" command from terminal. you have to download and run exe installer if you use Windows * The ps_output directory is used to store .ps files which are used to generate smaller sized pcl file * keep in your mind that you should have write permission in "pcl_output" directory */ class Html2pcl { public $device = 'laserjet'; //alternatively you may use 'epson' etc as printers public $paperSize = 'a4'; //alternative you may use 'letter' etc as papersize function __construct(){ //checking whether the directory named "out" already exists or not if(!file_exists("pcl_output")){ mkdir("./pcl_output", 0755); } //checking whether the directory named "ps_output" already exists or not if(!file_exists("ps_output")){ mkdir("./ps_output", 0755); } } function __destruct(){ //Clearing file status cache clearstatcache(); } function isWinServer() { return !(strpos(strtoupper($_SERVER['SERVER_SOFTWARE']), 'WIN32') === false); } //please don't use $htmlFileName without "http://" rather use like this "http://www.google.com" //please use $pclFileName without the extension like "google" function makePCL($htmlFileName, $pclFileName){ $file = './pcl_output/'.$pclFileName.'.pcl'; if($this->isWinServer()){ //checking whether the file name given as parameter is already exists or not if(!file_exists($file)){ exec("perl html2ps $htmlFileName > ./ps_output/".$pclFileName.".ps"); exec("gs -sDEVICE={$this->device} -sPAPERSIZE={$this->paperSize} -sOutputFile=./pcl_output/$pclFileName.pcl -dNOPAUSE -q ./ps_output/$pclFileName.ps -c quit"); } } else{ if(!file_exists($file)){ exec("html2ps $htmlFileName > ./ps_output/".$pclFileName.".ps"); exec("gs -sDEVICE={$this->device} -sPAPERSIZE={$this->paperSize} -sOutputFile=./pcl_output/$pclFileName.pcl -dNOPAUSE -q ./ps_output/$pclFileName.ps -c quit"); } } } } ?> <a href="http://dynamicguy.com/wp-content/uploads/2010/07/assembler.jpg"><img src="http://dynamicguy.com/wp-content/uploads/2010/07/assembler-300x211.jpg" alt="" title="assembler" width="300" height="211" class="alignleft size-medium wp-image-15" /></a> |
Related Reading:
No related posts.







