PHP Classes

File: pdfbarcode128.inc

Recommend this page to a friend!
  Classes of GuinuX   PDF Barcode128 generation   pdfbarcode128.inc   Download  
File: pdfbarcode128.inc
Role: ???
Content type: text/plain
Description: The class
Class: PDF Barcode128 generation
A Barcode128 generator
Author: By
Last change:
Date: 21 years ago
Size: 2,600 bytes
 

Contents

Class file image Download
<?php /*! Class: PdfBarcode128 Version : 1.0 Released: 05-30-2002 Author: GuinuX <guinux@cosmoplazza.com> **** usage: See the example scripts. License: The GNU General Public License (GPL) http://www.opensource.org/licenses/gpl-license.html For any suggestions or bug report please contact me : guinux@cosmoplazza.com !*/ define('FPDF_FONTPATH','font/'); require_once('barcode128.inc'); require_once('fpdf.php'); class pdfbarcode128 extends barcode128 { var $_pdf; var $_char_width; var $_bar_width; var $_data; function pdfbarcode128( $data, $char_width ) { $this->_bar_width = round($char_width/11, 1); $this->_char_width = $this->_bar_width * 11; $this->_data = $data; $this->barcode128($data); } function get_width() { return barcode128::get_width($this->_char_width); } function set_pdf_document( &$pdf ) { $this->_pdf = &$pdf; } function _draw_line( $x, $y, $nb, $height, $bar ) { if ($bar) { $this->_pdf->SetDrawColor(0, 0, 0); $this->_pdf->SetFillColor(0, 0, 0); } else { $this->_pdf->SetDrawColor( 255, 255, 255); $this->_pdf->SetFillColor( 255, 255, 255); } $this->_pdf->SetLineWidth(0.000); $this->_pdf->Rect( $x, $y, $nb*$this->_bar_width, $height, 'FD'); } function draw_barcode( $x, $y, $bar_height, $print_text = false ) { $start_x = $x; $start_y = $y; $this->_compute_pattern(); // Quiet Zone $this->_pdf->SetLineWidth(0.0000); $this->_pdf->SetDrawColor(255, 255, 255); $this->_pdf->SetFillColor(255, 255, 255); $this->_pdf->Rect($x, $y, $this->_bar_width*10, $bar_height, 'FD'); $x += $this->_bar_width*10; foreach($this->_pattern as $pos=>$digit) { $digit = split( ' ', $digit); $bar = true; foreach ($digit as $tmp=>$nb) { $this->_draw_line( $x, $y, $nb, $bar_height, $bar ); $x += ($this->_bar_width*$nb)+0.05; $bar = ($bar==true?false:true); } } // Quiet Zone $this->_pdf->SetLineWidth(0.0000); $this->_pdf->SetDrawColor(255, 255, 255); $this->_pdf->SetFillColor(255, 255, 255); $this->_pdf->Rect($x, $y, $this->_bar_width*10, $bar_height, 'FD'); $x += $this->_bar_width*10; if ($print_text) { $font_size = floor($this->get_width() / strlen($this->_data)*1.5); $this->_pdf->SetFont('arial', '', $font_size); $this->_pdf->SetXY( $start_x, $start_y + $bar_height ); $this->_pdf->Cell( $x - $start_x, $font_size/2, $this->_data, 0, 0, 'C' ); } } } // End of Class ?>