Removed deprecated files
This commit is contained in:
parent
6916621c3e
commit
313e1ac313
@ -70,7 +70,6 @@ if (! file_exists($dir))
|
||||
}
|
||||
}
|
||||
|
||||
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);
|
||||
$pdf = new PDF_card('CARD', 1, 1);
|
||||
|
||||
$pdf->Open();
|
||||
|
||||
@ -52,7 +52,6 @@ if (! file_exists($dir))
|
||||
|
||||
|
||||
|
||||
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);
|
||||
//$pdf = new PDF_card('CARD', 1, 1);
|
||||
if (defined("ADHERENT_ETIQUETTE_TYPE") && ADHERENT_ETIQUETTE_TYPE !=''){
|
||||
$pdf = new PDF_card(ADHERENT_ETIQUETTE_TYPE, 1, 1);
|
||||
|
||||
@ -160,6 +160,10 @@ if ($resql)
|
||||
|
||||
if ($module->encodingIsSupported($obj->encoding))
|
||||
{
|
||||
// Build barcode on disk
|
||||
$result=$module->writeBarCode($obj->example,$obj->encoding,'Y');
|
||||
|
||||
// Output files with barcode generators
|
||||
$url=DOL_URL_ROOT.'/viewimage.php?modulepart=barcode&generator='.urlencode($obj->coder).'&code='.urlencode($obj->example).'&encoding='.urlencode($obj->encoding);
|
||||
//print $url;
|
||||
print '<img src="'.$url.'" title="'.$obj->example.'" border="0">';
|
||||
@ -257,119 +261,6 @@ if ($conf->produit->enabled)
|
||||
|
||||
print '</table>';
|
||||
|
||||
/*
|
||||
//EAN13
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="100">';
|
||||
print "EAN13";
|
||||
print "</td><td>\n";
|
||||
|
||||
print "L'EAN se compose de 13 caract<63>res, 12 chiffres plus une cl<63> de contr<74>le. Il fonctionne de la m<>me mani<6E>re que l'UPC, avec lequel il est compatible.<br>";
|
||||
print "L'utilisation des symbologies EAN13 impose la souscription et l'abonnement aupr<70>s d'organisme tel que GENCOD.<br>";
|
||||
print "Codes num<75>riques utilis<69>s exclusivement <20> l'identification des produits susceptibles d'<27>tre vendus au grand public.";
|
||||
print '</td>';
|
||||
|
||||
// Affiche exemple
|
||||
print '<td align="center"><img src="'.dol_genbarcode('123456789012','EAN',1).'"></td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print $formbarcode->setBarcodeEncoder('EAN13','form'.$i);
|
||||
print "</td></tr>\n";
|
||||
$i++;
|
||||
|
||||
//UPC
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="100">';
|
||||
print "UPC";
|
||||
print "</td><td>\n";
|
||||
print "L'UPC est l'<27>quivalent de l'EAN8/13 pour des pays codificateurs autre que l'Europe.<br>";
|
||||
print "Il ne comporte que 11 chiffres plus la cl<63>.<br>";
|
||||
print "C'est en r<>alit<69> un code EAN13 dont le premier chiffre serait z<>ro et dont la pr<70>sentation serait l<>g<EFBFBD>rement diff<66>rente.<br>";
|
||||
print "Codes num<75>riques utilis<69>s exclusivement <20> l'identification des produits susceptibles d'<27>tre vendus au grand public.";
|
||||
print '</td>';
|
||||
|
||||
// Affiche exemple
|
||||
print '<td align="center"><img src="'.dol_genbarcode('123456789012','UPC',1).'"></td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print $formbarcode->setBarcodeEncoder('UPC','form'.$i);
|
||||
print "</td></tr>\n";
|
||||
$i++;
|
||||
|
||||
//ISBN
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="100">';
|
||||
print "ISBN";
|
||||
print "</td><td>\n";
|
||||
print "Le code ISBN est un code d<>di<64> au milieu de la presse <20>crite.";
|
||||
print '</td>';
|
||||
|
||||
// Affiche exemple
|
||||
print '<td align="center"><img src="'.dol_genbarcode('123456789','ISBN',1).'"></td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print $formbarcode->setBarcodeEncoder('ISBN','form'.$i);
|
||||
print "</td></tr>\n";
|
||||
$i++;
|
||||
|
||||
//code 39
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="100">';
|
||||
print "Code 39";
|
||||
print "</td><td>\n";
|
||||
print "Premier code alpha num<75>rique utilis<69> massivement dans l'Industrie pour sa capacit<69> d'encodage (chiffres et lettres)<br>";
|
||||
print "ainsi que par son degr<67> de s<>curit<69> <20> l'encodage (clef de contr<74>le).<br>";
|
||||
print "Il met a disposition les 10 chiffres, les 26 lettres de l'alphabet et sept symboles.<br>";
|
||||
print "l'ast<73>risque (*) sert de caract<63>re de bornage. La lecture est bidirectionnelle.<br>";
|
||||
print "La longueur est variable mais en g<>n<EFBFBD>ral ne d<>passe pas 32 caract<63>res.";
|
||||
print '</td>';
|
||||
|
||||
// Affiche exemple
|
||||
print '<td align="center"><img src="'.dol_genbarcode('1234567890','39',1).'"></td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print $formbarcode->setBarcodeEncoder('C39','form'.$i);
|
||||
print "</td></tr>\n";
|
||||
$i++;
|
||||
|
||||
|
||||
//code 128
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="100">';
|
||||
print "Code 128";
|
||||
print "</td><td>\n";
|
||||
print "Ce code \"derni<EFBFBD>re g<>n<EFBFBD>ration\" alpha num<75>rique est susceptible d'encoder les 128 caract<63>res de la table ASCII ( chiffres + lettres + symboles ).<br>";
|
||||
print "Le code 128 poss<73>de des algorithmes de cryptage s<>curis<69>s assez avanc<6E>s.<br>";
|
||||
print "C'est le plus complet des codes <20> barres, il propose 3 jeux de 128 caract<63>res.<br>";
|
||||
print "La lecture est bidirectionnelle.<br>";
|
||||
print "La longueur est variable mais en g<>n<EFBFBD>ral ne d<>passe pas 20 caract<63>res.";
|
||||
print '</td>';
|
||||
|
||||
// Affiche exemple
|
||||
print '<td align="center"><img src="'.dol_genbarcode('ABCD1234567890','128',1).'"></td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print $formbarcode->setBarcodeEncoder('C128','form'.$i);
|
||||
print "</td></tr>\n";
|
||||
$i++;
|
||||
|
||||
//I25
|
||||
$var=!$var;
|
||||
print '<tr '.$bc[$var].'><td width="100">';
|
||||
print "I25";
|
||||
print "</td><td>\n";
|
||||
print "information";
|
||||
print '</td>';
|
||||
|
||||
// Affiche exemple
|
||||
print '<td align="center"><img src="'.dol_genbarcode('1234567890','I25',1).'"></td>';
|
||||
|
||||
print '<td align="center">';
|
||||
print $formbarcode->setBarcodeEncoder('I25','form'.$i);
|
||||
print "</td></tr>\n";
|
||||
$i++;
|
||||
*/
|
||||
|
||||
print "<br>";
|
||||
|
||||
$db->close();
|
||||
|
||||
@ -282,7 +282,8 @@ class Conf
|
||||
// Module oscommerce 1
|
||||
$this->boutique->livre->enabled=defined("BOUTIQUE_LIVRE")?BOUTIQUE_LIVRE:0;
|
||||
$this->boutique->album->enabled=defined("BOUTIQUE_ALBUM")?BOUTIQUE_ALBUM:0;
|
||||
|
||||
// Module Barcode
|
||||
$this->barcode->dir_temp=DOL_DATA_ROOT."/barcode/temp";
|
||||
|
||||
/*
|
||||
* Modification de quelques variable de conf en fonction des Constantes
|
||||
|
||||
@ -207,6 +207,9 @@ function barcode_outimage($text, $bars, $scale = 1, $mode = "png",
|
||||
}
|
||||
}
|
||||
|
||||
// DOLCHANGE LDR
|
||||
global $filebarcode;
|
||||
|
||||
/* output the image */
|
||||
$mode=strtolower($mode);
|
||||
if ($mode=='jpg' || $mode=='jpeg'){
|
||||
@ -215,11 +218,17 @@ function barcode_outimage($text, $bars, $scale = 1, $mode = "png",
|
||||
} else if ($mode=='gif'){
|
||||
header("Content-Type: image/gif; name=\"barcode.gif\"");
|
||||
imagegif($im);
|
||||
|
||||
// Begin DOLCHANGE LDR
|
||||
} else if (! empty($filebarcode))
|
||||
{
|
||||
imagepng($im,$filebarcode);
|
||||
// End DOLCHANGE LDR
|
||||
|
||||
} else {
|
||||
header("Content-Type: image/png; name=\"barcode.png\"");
|
||||
imagepng($im);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -3,9 +3,27 @@ This file describe changes made on external library after beeing included
|
||||
in Dolibarr root.
|
||||
|
||||
|
||||
PHP-BARCODE:
|
||||
------------
|
||||
If files are replaced by new version, following changes must be done:
|
||||
|
||||
* Add lines into barcode_outimage function
|
||||
*******************************************
|
||||
// DOLCHANGE LDR
|
||||
global $filebarcode;
|
||||
|
||||
|
||||
// Begin DOLCHANGE LDR
|
||||
} else if (! empty($filebarcode))
|
||||
{
|
||||
imagepng($im,$filebarcode);
|
||||
// End DOLCHANGE LDR
|
||||
|
||||
|
||||
|
||||
FCKEDITOR:
|
||||
----------
|
||||
If fckeditor files are replaced by new version, following changes must be done:
|
||||
If files are replaced by new version, following changes must be done:
|
||||
|
||||
* Edit file fckeditor/editor/filemanager/browser/default/browser.css
|
||||
**********************************************************
|
||||
|
||||
@ -1,353 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
* $Source$
|
||||
*/
|
||||
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
||||
|
||||
|
||||
class DolibarrPdfBarCode extends FPDF {
|
||||
|
||||
/* Author Olivier PLATHEY
|
||||
* Licence Freeware see : http://fpdf.org/fr/script/script5.php
|
||||
*/
|
||||
function EAN13($x,$y,$barcode,$h=16,$w=.35)
|
||||
{
|
||||
$this->Barcode($x,$y,$barcode,$h,$w,13);
|
||||
}
|
||||
|
||||
function UPC_A($x,$y,$barcode,$h=16,$w=.35)
|
||||
{
|
||||
$this->Barcode($x,$y,$barcode,$h,$w,12);
|
||||
}
|
||||
|
||||
function GetCheckDigit($barcode)
|
||||
{
|
||||
//Calcule le chiffre de contrôle
|
||||
$sum=0;
|
||||
for($i=1;$i<=11;$i+=2)
|
||||
$sum+=3*$barcode{$i};
|
||||
for($i=0;$i<=10;$i+=2)
|
||||
$sum+=$barcode{$i};
|
||||
$r=$sum%10;
|
||||
if($r>0)
|
||||
$r=10-$r;
|
||||
return $r;
|
||||
}
|
||||
|
||||
function TestCheckDigit($barcode)
|
||||
{
|
||||
//Vérifie le chiffre de contrôle
|
||||
$sum=0;
|
||||
for($i=1;$i<=11;$i+=2)
|
||||
$sum+=3*$barcode{$i};
|
||||
for($i=0;$i<=10;$i+=2)
|
||||
$sum+=$barcode{$i};
|
||||
return ($sum+$barcode{12})%10==0;
|
||||
}
|
||||
|
||||
function Barcode($x,$y,$barcode,$h,$w,$len)
|
||||
{
|
||||
//Ajoute des 0 si nécessaire
|
||||
$barcode=str_pad($barcode,$len-1,'0',STR_PAD_LEFT);
|
||||
if($len==12)
|
||||
$barcode='0'.$barcode;
|
||||
//Ajoute ou teste le chiffre de contrôle
|
||||
if(strlen($barcode)==12)
|
||||
$barcode.=$this->GetCheckDigit($barcode);
|
||||
elseif(!$this->TestCheckDigit($barcode))
|
||||
$this->Error('Incorrect check digit');
|
||||
//Convertit les chiffres en barres
|
||||
$codes=array(
|
||||
'A'=>array(
|
||||
'0'=>'0001101','1'=>'0011001','2'=>'0010011','3'=>'0111101','4'=>'0100011',
|
||||
'5'=>'0110001','6'=>'0101111','7'=>'0111011','8'=>'0110111','9'=>'0001011'),
|
||||
'B'=>array(
|
||||
'0'=>'0100111','1'=>'0110011','2'=>'0011011','3'=>'0100001','4'=>'0011101',
|
||||
'5'=>'0111001','6'=>'0000101','7'=>'0010001','8'=>'0001001','9'=>'0010111'),
|
||||
'C'=>array(
|
||||
'0'=>'1110010','1'=>'1100110','2'=>'1101100','3'=>'1000010','4'=>'1011100',
|
||||
'5'=>'1001110','6'=>'1010000','7'=>'1000100','8'=>'1001000','9'=>'1110100')
|
||||
);
|
||||
$parities=array(
|
||||
'0'=>array('A','A','A','A','A','A'),
|
||||
'1'=>array('A','A','B','A','B','B'),
|
||||
'2'=>array('A','A','B','B','A','B'),
|
||||
'3'=>array('A','A','B','B','B','A'),
|
||||
'4'=>array('A','B','A','A','B','B'),
|
||||
'5'=>array('A','B','B','A','A','B'),
|
||||
'6'=>array('A','B','B','B','A','A'),
|
||||
'7'=>array('A','B','A','B','A','B'),
|
||||
'8'=>array('A','B','A','B','B','A'),
|
||||
'9'=>array('A','B','B','A','B','A')
|
||||
);
|
||||
$code='101';
|
||||
$p=$parities[$barcode{0}];
|
||||
for($i=1;$i<=6;$i++)
|
||||
$code.=$codes[$p[$i-1]][$barcode{$i}];
|
||||
$code.='01010';
|
||||
for($i=7;$i<=12;$i++)
|
||||
$code.=$codes['C'][$barcode{$i}];
|
||||
$code.='101';
|
||||
//Dessine les barres
|
||||
for($i=0;$i<strlen($code);$i++)
|
||||
{
|
||||
if($code{$i}=='1')
|
||||
$this->Rect($x+$i*$w,$y,$w,$h,'F');
|
||||
}
|
||||
//Imprime le texte sous le code-barres
|
||||
$this->SetFont('Arial','',12);
|
||||
$this->Text($x,$y+$h+11/$this->k,substr($barcode,-$len));
|
||||
}
|
||||
|
||||
/*
|
||||
* Licence See i25/info.htm
|
||||
*/
|
||||
|
||||
function i25($xpos, $ypos, $code, $basewidth=1, $height=10){
|
||||
|
||||
$wide = $basewidth;
|
||||
$narrow = $basewidth / 3 ;
|
||||
|
||||
// wide/narrow codes for the digits
|
||||
$barChar['0'] = 'nnwwn';
|
||||
$barChar['1'] = 'wnnnw';
|
||||
$barChar['2'] = 'nwnnw';
|
||||
$barChar['3'] = 'wwnnn';
|
||||
$barChar['4'] = 'nnwnw';
|
||||
$barChar['5'] = 'wnwnn';
|
||||
$barChar['6'] = 'nwwnn';
|
||||
$barChar['7'] = 'nnnww';
|
||||
$barChar['8'] = 'wnnwn';
|
||||
$barChar['9'] = 'nwnwn';
|
||||
$barChar['A'] = 'nn';
|
||||
$barChar['Z'] = 'wn';
|
||||
|
||||
// add leading zero if code-length is odd
|
||||
if(strlen($code) % 2 != 0){
|
||||
$code = '0' . $code;
|
||||
}
|
||||
|
||||
$this->SetFont('Arial','',10);
|
||||
$this->Text($xpos, $ypos + $height + 4, $code);
|
||||
$this->SetFillColor(0);
|
||||
|
||||
// add start and stop codes
|
||||
$code = 'AA'.strtolower($code).'ZA';
|
||||
|
||||
for($i=0; $i<strlen($code); $i=$i+2)
|
||||
{
|
||||
// choose next pair of digits
|
||||
$charBar = $code{$i};
|
||||
$charSpace = $code{$i+1};
|
||||
// check whether it is a valid digit
|
||||
if(!isset($barChar[$charBar]))
|
||||
{
|
||||
$this->Error('Invalid character in barcode: '.$charBar);
|
||||
}
|
||||
if(!isset($barChar[$charSpace]))
|
||||
{
|
||||
$this->Error('Invalid character in barcode: '.$charSpace);
|
||||
}
|
||||
// create a wide/narrow-sequence (first digit=bars, second digit=spaces)
|
||||
$seq = '';
|
||||
for($s=0; $s<strlen($barChar[$charBar]); $s++)
|
||||
{
|
||||
$seq .= $barChar[$charBar]{$s} . $barChar[$charSpace]{$s};
|
||||
}
|
||||
for($bar=0; $bar<strlen($seq); $bar++){
|
||||
// set lineWidth depending on value
|
||||
if($seq{$bar} == 'n')
|
||||
{
|
||||
$lineWidth = $narrow;
|
||||
}
|
||||
else
|
||||
{
|
||||
$lineWidth = $wide;
|
||||
}
|
||||
// draw every second value, because the second digit of the pair is represented by the spaces
|
||||
if($bar % 2 == 0)
|
||||
{
|
||||
$this->Rect($xpos, $ypos, $lineWidth, $height, 'F');
|
||||
}
|
||||
$xpos += $lineWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Copyright ehavet@yahoo.fr
|
||||
* Emmanuel Havet
|
||||
* License: Freeware
|
||||
*
|
||||
*/
|
||||
|
||||
function Code39($x, $y, $code, $ext = true, $cks = false, $w = 0.4, $h = 20, $wide = true)
|
||||
{
|
||||
//Display code
|
||||
$this->SetFont('Arial', '', 10);
|
||||
$this->Text($x, $y+$h+4, $code);
|
||||
$this->SetFillColor(0,0,0);
|
||||
|
||||
if($ext)
|
||||
{
|
||||
//Extended encoding
|
||||
$code = $this->encode_code39_ext($code);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Convert to upper case
|
||||
$code = strtoupper($code);
|
||||
//Check validity
|
||||
if(!preg_match('|^[0-9A-Z. $/+%-]*$|', $code))
|
||||
$this->Error('Invalid barcode value: '.$code);
|
||||
}
|
||||
|
||||
//Compute checksum
|
||||
if ($cks)
|
||||
$code .= $this->checksum_code39($code);
|
||||
|
||||
//Add start and stop characters
|
||||
$code = '*'.$code.'*';
|
||||
|
||||
//Conversion tables
|
||||
$narrow_encoding = array (
|
||||
'0' => '101001101101', '1' => '110100101011', '2' => '101100101011',
|
||||
'3' => '110110010101', '4' => '101001101011', '5' => '110100110101',
|
||||
'6' => '101100110101', '7' => '101001011011', '8' => '110100101101',
|
||||
'9' => '101100101101', 'A' => '110101001011', 'B' => '101101001011',
|
||||
'C' => '110110100101', 'D' => '101011001011', 'E' => '110101100101',
|
||||
'F' => '101101100101', 'G' => '101010011011', 'H' => '110101001101',
|
||||
'I' => '101101001101', 'J' => '101011001101', 'K' => '110101010011',
|
||||
'L' => '101101010011', 'M' => '110110101001', 'N' => '101011010011',
|
||||
'O' => '110101101001', 'P' => '101101101001', 'Q' => '101010110011',
|
||||
'R' => '110101011001', 'S' => '101101011001', 'T' => '101011011001',
|
||||
'U' => '110010101011', 'V' => '100110101011', 'W' => '110011010101',
|
||||
'X' => '100101101011', 'Y' => '110010110101', 'Z' => '100110110101',
|
||||
'-' => '100101011011', '.' => '110010101101', ' ' => '100110101101',
|
||||
'*' => '100101101101', '$' => '100100100101', '/' => '100100101001',
|
||||
'+' => '100101001001', '%' => '101001001001' );
|
||||
|
||||
$wide_encoding = array (
|
||||
'0' => '101000111011101', '1' => '111010001010111', '2' => '101110001010111',
|
||||
'3' => '111011100010101', '4' => '101000111010111', '5' => '111010001110101',
|
||||
'6' => '101110001110101', '7' => '101000101110111', '8' => '111010001011101',
|
||||
'9' => '101110001011101', 'A' => '111010100010111', 'B' => '101110100010111',
|
||||
'C' => '111011101000101', 'D' => '101011100010111', 'E' => '111010111000101',
|
||||
'F' => '101110111000101', 'G' => '101010001110111', 'H' => '111010100011101',
|
||||
'I' => '101110100011101', 'J' => '101011100011101', 'K' => '111010101000111',
|
||||
'L' => '101110101000111', 'M' => '111011101010001', 'N' => '101011101000111',
|
||||
'O' => '111010111010001', 'P' => '101110111010001', 'Q' => '101010111000111',
|
||||
'R' => '111010101110001', 'S' => '101110101110001', 'T' => '101011101110001',
|
||||
'U' => '111000101010111', 'V' => '100011101010111', 'W' => '111000111010101',
|
||||
'X' => '100010111010111', 'Y' => '111000101110101', 'Z' => '100011101110101',
|
||||
'-' => '100010101110111', '.' => '111000101011101', ' ' => '100011101011101',
|
||||
'*' => '100010111011101', '$' => '100010001000101', '/' => '100010001010001',
|
||||
'+' => '100010100010001', '%' => '101000100010001');
|
||||
|
||||
$encoding = $wide ? $wide_encoding : $narrow_encoding;
|
||||
|
||||
//Inter-character spacing
|
||||
$gap = ($w > 0.29) ? '00' : '0';
|
||||
|
||||
//Convert to bars
|
||||
$encode = '';
|
||||
for ($i = 0; $i< strlen($code); $i++)
|
||||
$encode .= $encoding[$code{$i}].$gap;
|
||||
|
||||
//Draw bars
|
||||
$this->draw_code39($encode, $x, $y, $w, $h);
|
||||
}
|
||||
|
||||
function checksum_code39($code) {
|
||||
|
||||
//Compute the modulo 43 checksum
|
||||
|
||||
$chars = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
|
||||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',
|
||||
'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
|
||||
'W', 'X', 'Y', 'Z', '-', '.', ' ', '$', '/', '+', '%');
|
||||
$sum = 0;
|
||||
for ($i=0 ; $i<strlen($code); $i++)
|
||||
{
|
||||
$a = array_keys($chars, $code{$i});
|
||||
$sum += $a[0];
|
||||
}
|
||||
$r = $sum % 43;
|
||||
return $chars[$r];
|
||||
}
|
||||
|
||||
function encode_code39_ext($code) {
|
||||
|
||||
//Encode characters in extended mode
|
||||
|
||||
$encode = array(
|
||||
chr(0) => '%U', chr(1) => '$A', chr(2) => '$B', chr(3) => '$C',
|
||||
chr(4) => '$D', chr(5) => '$E', chr(6) => '$F', chr(7) => '$G',
|
||||
chr(8) => '$H', chr(9) => '$I', chr(10) => '$J', chr(11) => '£K',
|
||||
chr(12) => '$L', chr(13) => '$M', chr(14) => '$N', chr(15) => '$O',
|
||||
chr(16) => '$P', chr(17) => '$Q', chr(18) => '$R', chr(19) => '$S',
|
||||
chr(20) => '$T', chr(21) => '$U', chr(22) => '$V', chr(23) => '$W',
|
||||
chr(24) => '$X', chr(25) => '$Y', chr(26) => '$Z', chr(27) => '%A',
|
||||
chr(28) => '%B', chr(29) => '%C', chr(30) => '%D', chr(31) => '%E',
|
||||
chr(32) => ' ', chr(33) => '/A', chr(34) => '/B', chr(35) => '/C',
|
||||
chr(36) => '/D', chr(37) => '/E', chr(38) => '/F', chr(39) => '/G',
|
||||
chr(40) => '/H', chr(41) => '/I', chr(42) => '/J', chr(43) => '/K',
|
||||
chr(44) => '/L', chr(45) => '-', chr(46) => '.', chr(47) => '/O',
|
||||
chr(48) => '0', chr(49) => '1', chr(50) => '2', chr(51) => '3',
|
||||
chr(52) => '4', chr(53) => '5', chr(54) => '6', chr(55) => '7',
|
||||
chr(56) => '8', chr(57) => '9', chr(58) => '/Z', chr(59) => '%F',
|
||||
chr(60) => '%G', chr(61) => '%H', chr(62) => '%I', chr(63) => '%J',
|
||||
chr(64) => '%V', chr(65) => 'A', chr(66) => 'B', chr(67) => 'C',
|
||||
chr(68) => 'D', chr(69) => 'E', chr(70) => 'F', chr(71) => 'G',
|
||||
chr(72) => 'H', chr(73) => 'I', chr(74) => 'J', chr(75) => 'K',
|
||||
chr(76) => 'L', chr(77) => 'M', chr(78) => 'N', chr(79) => 'O',
|
||||
chr(80) => 'P', chr(81) => 'Q', chr(82) => 'R', chr(83) => 'S',
|
||||
chr(84) => 'T', chr(85) => 'U', chr(86) => 'V', chr(87) => 'W',
|
||||
chr(88) => 'X', chr(89) => 'Y', chr(90) => 'Z', chr(91) => '%K',
|
||||
chr(92) => '%L', chr(93) => '%M', chr(94) => '%N', chr(95) => '%O',
|
||||
chr(96) => '%W', chr(97) => '+A', chr(98) => '+B', chr(99) => '+C',
|
||||
chr(100) => '+D', chr(101) => '+E', chr(102) => '+F', chr(103) => '+G',
|
||||
chr(104) => '+H', chr(105) => '+I', chr(106) => '+J', chr(107) => '+K',
|
||||
chr(108) => '+L', chr(109) => '+M', chr(110) => '+N', chr(111) => '+O',
|
||||
chr(112) => '+P', chr(113) => '+Q', chr(114) => '+R', chr(115) => '+S',
|
||||
chr(116) => '+T', chr(117) => '+U', chr(118) => '+V', chr(119) => '+W',
|
||||
chr(120) => '+X', chr(121) => '+Y', chr(122) => '+Z', chr(123) => '%P',
|
||||
chr(124) => '%Q', chr(125) => '%R', chr(126) => '%S', chr(127) => '%T');
|
||||
|
||||
$code_ext = '';
|
||||
for ($i = 0 ; $i<strlen($code); $i++) {
|
||||
if (ord($code{$i}) > 127)
|
||||
$this->Error('Invalid character: '.$code{$i});
|
||||
$code_ext .= $encode[$code{$i}];
|
||||
}
|
||||
return $code_ext;
|
||||
}
|
||||
|
||||
function draw_code39($code, $x, $y, $w, $h)
|
||||
{
|
||||
//Draw bars
|
||||
|
||||
for($i=0; $i<strlen($code); $i++)
|
||||
{
|
||||
if($code{$i} == '1')
|
||||
$this->Rect($x+$i*$w, $y, $w, $h, 'F');
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,104 +0,0 @@
|
||||
<?php
|
||||
/* Modifié par Rodolphe Quiédeville
|
||||
* Auteur : Olivier PLATHEY
|
||||
* Source : http://www.fpdf.org
|
||||
* License: Freeware
|
||||
* $Id$
|
||||
* $Source$
|
||||
*/
|
||||
|
||||
class PDF_html extends PDF_Indexes
|
||||
{
|
||||
var $B;
|
||||
var $I;
|
||||
var $U;
|
||||
var $HREF;
|
||||
|
||||
function PDF_html($orientation='P',$unit='mm',$format='A4')
|
||||
{
|
||||
//Appel au constructeur parent
|
||||
$this->FPDF($orientation,$unit,$format);
|
||||
//Initialisation
|
||||
$this->B=0;
|
||||
$this->I=0;
|
||||
$this->U=0;
|
||||
$this->HREF='';
|
||||
}
|
||||
|
||||
function WriteHTML($html)
|
||||
{
|
||||
//Parseur HTML
|
||||
$html=str_replace("\n",' ',$html);
|
||||
$a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
|
||||
foreach($a as $i=>$e)
|
||||
{
|
||||
if($i%2==0)
|
||||
{
|
||||
//Texte
|
||||
if($this->HREF)
|
||||
$this->PutLink($this->HREF,$e);
|
||||
else
|
||||
$this->Write(5,$e);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Balise
|
||||
if($e{0}=='/')
|
||||
$this->CloseTag(strtoupper(substr($e,1)));
|
||||
else
|
||||
{
|
||||
//Extraction des attributs
|
||||
$a2=explode(' ',$e);
|
||||
$tag=strtoupper(array_shift($a2));
|
||||
$attr=array();
|
||||
foreach($a2 as $v)
|
||||
if(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))
|
||||
$attr[strtoupper($a3[1])]=$a3[2];
|
||||
$this->OpenTag($tag,$attr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function OpenTag($tag,$attr)
|
||||
{
|
||||
//Balise ouvrante
|
||||
if($tag=='B' or $tag=='I' or $tag=='U')
|
||||
$this->SetStyle($tag,true);
|
||||
if($tag=='A')
|
||||
$this->HREF=$attr['HREF'];
|
||||
if($tag=='BR')
|
||||
$this->Ln(5);
|
||||
}
|
||||
|
||||
function CloseTag($tag)
|
||||
{
|
||||
//Balise fermante
|
||||
if($tag=='B' or $tag=='I' or $tag=='U')
|
||||
$this->SetStyle($tag,false);
|
||||
if($tag=='A')
|
||||
$this->HREF='';
|
||||
}
|
||||
|
||||
function SetStyle($tag,$enable)
|
||||
{
|
||||
//Modifie le style et sélectionne la police correspondante
|
||||
$this->$tag+=($enable ? 1 : -1);
|
||||
$style='';
|
||||
foreach(array('B','I','U') as $s)
|
||||
if($this->$s>0)
|
||||
$style.=$s;
|
||||
$this->SetFont('',$style);
|
||||
}
|
||||
|
||||
function PutLink($URL,$txt)
|
||||
{
|
||||
//Place un hyperlien
|
||||
$this->SetTextColor(0,0,255);
|
||||
$this->SetStyle('U',true);
|
||||
$this->Write(5,$txt,$URL);
|
||||
$this->SetStyle('U',false);
|
||||
$this->SetTextColor(0);
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -1,206 +0,0 @@
|
||||
<?php
|
||||
/* Modifié par Rodolphe Quiédeville
|
||||
* Auteur : Pierre-André Vullioud
|
||||
* Licence : Freeware
|
||||
* Source : http://www.fpdf.org
|
||||
*
|
||||
* $Id$
|
||||
* $Source$
|
||||
*/
|
||||
|
||||
class PDF_Indexes extends FPDF
|
||||
{
|
||||
var $Reference=array(); //Array containing the references
|
||||
var $col=0; //Current column number
|
||||
var $NbCol; //Total number of columns
|
||||
var $y0; //Top ordinate of columns
|
||||
var $IndexesName=array();
|
||||
|
||||
function Reference($txt, $index)
|
||||
{
|
||||
$Present=0;
|
||||
$size=sizeof($this->Reference[$index]);
|
||||
|
||||
//Search the reference in the array
|
||||
for ($i=0;$i<$size;$i++)
|
||||
{
|
||||
if ($this->Reference[$index][$i]['t']==$txt)
|
||||
{
|
||||
$Present=1;
|
||||
$this->Reference[$index][$i]['p'].=','.$this->PageNo();
|
||||
}
|
||||
}
|
||||
|
||||
//If not found, add it
|
||||
if ($Present==0)
|
||||
{
|
||||
$this->Reference[$index][]=array('t'=>$txt,'p'=>$this->PageNo());
|
||||
}
|
||||
}
|
||||
|
||||
function ReferenceNewPage($link='')
|
||||
{
|
||||
$this->AddPage();
|
||||
if ($link)
|
||||
{
|
||||
$this->SetLink($link);
|
||||
}
|
||||
$this->SetFont('Arial','',15);
|
||||
$this->SetXY(10,10);
|
||||
$this->MultiCell(190,12, $this->IndexesName[$this->IndexName], 1 ,'C', 0);
|
||||
$this->y0 = $this->GetY() + 2;
|
||||
$this->SetY($this->y0);
|
||||
$this->SetFontSize(8);
|
||||
}
|
||||
|
||||
function ReferencePrintSection()
|
||||
{
|
||||
$this->SetY($this->GetY() + 2);
|
||||
|
||||
if ($this->GetY() > $this->YMax)
|
||||
{
|
||||
$this->ReferenceNewPage();
|
||||
}
|
||||
if ( $this->ReferenceNextSection == $this->ReferenceCurrentSection)
|
||||
{
|
||||
$this->SetFontSize(9);
|
||||
$this->MultiCell(90, 4, $this->ReferenceCurrentSection ,0,1,'L');
|
||||
$this->SetFontSize(8);
|
||||
}
|
||||
}
|
||||
|
||||
function CreateReference($NbCol, $index, $link='')
|
||||
{
|
||||
$this->YMax = 270;
|
||||
$this->NbCol = $NbCol;
|
||||
$this->SetCol(0);
|
||||
$this->IndexName = $index;
|
||||
$page = 1;
|
||||
// New Page
|
||||
$page = $this->ReferenceNewPage($link);
|
||||
|
||||
//Initialization
|
||||
$this->SetFontSize(8);
|
||||
|
||||
$size = sizeof($this->Reference[$index]);
|
||||
$PageWidth = $this->w - $this->lMargin - $this->rMargin;
|
||||
$last = '';
|
||||
for ($i=0 ; $i < $size ; $i++)
|
||||
{
|
||||
$this->ReferenceNextSection = $this->Reference[$index][$i]['t'][0];
|
||||
|
||||
if ($this->GetY() > $this->YMax)
|
||||
{
|
||||
$this->ReferenceNextCol();
|
||||
}
|
||||
//
|
||||
// Section Break
|
||||
//
|
||||
if ($last <> $this->Reference[$index][$i]['t'][0])
|
||||
{
|
||||
$last = $this->Reference[$index][$i]['t'][0];
|
||||
$this->ReferenceCurrentSection = $last;
|
||||
$this->ReferencePrintSection();
|
||||
}
|
||||
|
||||
//LibelleLabel
|
||||
if (is_array($this->Reference[$index][$i]['t']))
|
||||
{
|
||||
$str= " ".$this->Reference[$index][$i]['t'][1];
|
||||
}
|
||||
else
|
||||
{
|
||||
$str= $this->Reference[$index][$i]['t'];
|
||||
}
|
||||
|
||||
$strsize=$this->GetStringWidth($str);
|
||||
|
||||
$this->Cell($strsize+2,$this->FontSize+2,$str,0,0,'R');
|
||||
|
||||
//Dots
|
||||
//Computes the widths
|
||||
$ColWidth = ($PageWidth/$NbCol)-2;
|
||||
$w=$ColWidth-$this->GetStringWidth($this->Reference[$index][$i]['p'])-($strsize+4);
|
||||
if ($w<15)
|
||||
$w=15;
|
||||
$nb=$w/$this->GetStringWidth('.');
|
||||
$dots=str_repeat('.',$nb-2);
|
||||
$this->Cell($w,$this->FontSize+2,$dots,0,0,'L');
|
||||
|
||||
//Page number
|
||||
$Largeur=$ColWidth-$strsize-$w;
|
||||
$this->MultiCell($Largeur,$this->FontSize+1,$this->Reference[$index][$i]['p'],0,1,'R');
|
||||
}
|
||||
}
|
||||
|
||||
function SetCol($col)
|
||||
{
|
||||
//Set position on a column
|
||||
$this->col=$col;
|
||||
$x=$this->rMargin+$col*($this->w-$this->rMargin-$this->rMargin)/$this->NbCol;
|
||||
$this->SetLeftMargin($x);
|
||||
$this->SetX($x);
|
||||
}
|
||||
|
||||
function ReferenceNextCol()
|
||||
{
|
||||
if($this->col < $this->NbCol-1)
|
||||
{
|
||||
//Go to the next column
|
||||
$this->SetCol($this->col+1);
|
||||
$this->SetY($this->y0);
|
||||
$this->ReferencePrintSection();
|
||||
//Stay on the page
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Go back to the first column
|
||||
$this->SetCol(0);
|
||||
$this->ReferenceNewPage();
|
||||
$this->ReferencePrintSection();
|
||||
//Page break
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/*
|
||||
*
|
||||
*
|
||||
*/
|
||||
function SortReference($index)
|
||||
{
|
||||
$ar = $this->Reference[$index];
|
||||
|
||||
$size=sizeof($this->Reference[$index]);
|
||||
$cats = array();
|
||||
$last = '';
|
||||
for ($i=0;$i<$size;$i++)
|
||||
{
|
||||
//print $ar[$i]['t'][0] . "<br>";
|
||||
$cat = $ar[$i]['t'][0];
|
||||
if (! array_key_exists($cat, $cats))
|
||||
{
|
||||
$cats[$cat] = array();
|
||||
}
|
||||
array_push($cats[$cat], array($ar[$i]['t'][1], $ar[$i]['p']));
|
||||
}
|
||||
|
||||
ksort($cats);
|
||||
//var_dump($cats);
|
||||
$i = 0;
|
||||
foreach ($cats as $key => $value)
|
||||
{
|
||||
foreach ($value as $skey => $svalue)
|
||||
{
|
||||
$this->Reference[$index][$i]['t'][0] = $key;
|
||||
$this->Reference[$index][$i]['t'][1] = $svalue[0];
|
||||
$this->Reference[$index][$i]['p'] = $svalue[1];
|
||||
$i++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@ -1,186 +0,0 @@
|
||||
<?php
|
||||
////////////////////////////////////////////////////
|
||||
// PDF_Label
|
||||
//
|
||||
// Classe afin d'éditer au format PDF des étiquettes
|
||||
// au format Avery ou personnalisé
|
||||
//
|
||||
//
|
||||
// Copyright (C) 2003 Laurent PASSEBECQ (LPA)
|
||||
// Basé sur les fonctions de Steve Dillon : steved@mad.scientist.com
|
||||
//
|
||||
//-------------------------------------------------------------------
|
||||
// VERSIONS :
|
||||
// 1.0 : Initial release
|
||||
// 1.1 : + : Added unit in the constructor
|
||||
// + : Now Positions start @ (1,1).. then the first image @top-left of a page is (1,1)
|
||||
// + : Added in the description of a label :
|
||||
// font-size : defaut char size (can be changed by calling Set_Char_Size(xx);
|
||||
// paper-size : Size of the paper for this sheet (thanx to Al Canton)
|
||||
// metric : type of unit used in this description
|
||||
// You can define your label properties in inches by setting metric to 'in'
|
||||
// and printing in millimiter by setting unit to 'mm' in constructor.
|
||||
// Added some labels :
|
||||
// 5160, 5161, 5162, 5163,5164 : thanx to Al Canton : acanton@adams-blake.com
|
||||
// 8600 : thanx to Kunal Walia : kunal@u.washington.edu
|
||||
// + : Added 3mm to the position of labels to avoid errors
|
||||
// 1.2 : + : Added Set_Font_Name method
|
||||
// = : Bug of positionning
|
||||
// = : Set_Font_Size modified -> Now, just modify the size of the font
|
||||
// = : Set_Char_Size renamed to Set_Font_Size
|
||||
////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* Modifié par Regis Houssin
|
||||
* PDF_Label - PDF label editing
|
||||
* @package PDF_Label
|
||||
* @author Laurent PASSEBECQ <lpasseb@numericable.fr>
|
||||
* @copyright 2003 Laurent PASSEBECQ
|
||||
* $Id$
|
||||
* $Source$
|
||||
**/
|
||||
|
||||
require_once(FPDF_PATH."fpdf.php");
|
||||
|
||||
class PDF_Label extends FPDF {
|
||||
|
||||
// Propriétés privées
|
||||
var $_Avery_Name = ''; // Nom du format de l'étiquette
|
||||
var $_Margin_Left = 0; // Marge de gauche de l'étiquette
|
||||
var $_Margin_Top = 0; // marge en haut de la page avant la première étiquette
|
||||
var $_X_Space = 0; // Espace horizontal entre 2 bandes d'étiquettes
|
||||
var $_Y_Space = 0; // Espace vertical entre 2 bandes d'étiquettes
|
||||
var $_X_Number = 0; // Nombre d'étiquettes sur la largeur de la page
|
||||
var $_Y_Number = 0; // Nombre d'étiquettes sur la hauteur de la page
|
||||
var $_Width = 0; // Largeur de chaque étiquette
|
||||
var $_Height = 0; // Hauteur de chaque étiquette
|
||||
var $_Char_Size = 10; // Hauteur des caractères
|
||||
var $_Line_Height = 10; // Hauteur par défaut d'une ligne
|
||||
var $_Metric = 'mm'; // Type of metric for labels.. Will help to calculate good values
|
||||
var $_Metric_Doc = 'mm'; // Type of metric for the document
|
||||
var $_Font_Name = 'Arial'; // Name of the font
|
||||
|
||||
var $_COUNTX = 1;
|
||||
var $_COUNTY = 1;
|
||||
|
||||
|
||||
// Listing of labels size
|
||||
var $_Avery_Labels = array (
|
||||
'5160'=>array('name'=>'5160', 'paper-size'=>'letter', 'metric'=>'mm', 'marginLeft'=>1.762, 'marginTop'=>10.7, 'NX'=>3, 'NY'=>10, 'SpaceX'=>3.175, 'SpaceY'=>0, 'width'=>66.675, 'height'=>25.4, 'font-size'=>8),
|
||||
'5161'=>array('name'=>'5161', 'paper-size'=>'letter', 'metric'=>'mm', 'marginLeft'=>0.967, 'marginTop'=>10.7, 'NX'=>2, 'NY'=>10, 'SpaceX'=>3.967, 'SpaceY'=>0, 'width'=>101.6, 'height'=>25.4, 'font-size'=>8),
|
||||
'5162'=>array('name'=>'5162', 'paper-size'=>'letter', 'metric'=>'mm', 'marginLeft'=>0.97, 'marginTop'=>20.224, 'NX'=>2, 'NY'=>7, 'SpaceX'=>4.762, 'SpaceY'=>0, 'width'=>100.807, 'height'=>35.72, 'font-size'=>8),
|
||||
'5163'=>array('name'=>'5163', 'paper-size'=>'letter', 'metric'=>'mm', 'marginLeft'=>1.762, 'marginTop'=>10.7, 'NX'=>2, 'NY'=>5, 'SpaceX'=>3.175, 'SpaceY'=>0, 'width'=>101.6, 'height'=>50.8, 'font-size'=>8),
|
||||
'5164'=>array('name'=>'5164', 'paper-size'=>'letter', 'metric'=>'in', 'marginLeft'=>0.148, 'marginTop'=>0.5, 'NX'=>2, 'NY'=>3, 'SpaceX'=>0.2031, 'SpaceY'=>0, 'width'=>4.0, 'height'=>3.33, 'font-size'=>12),
|
||||
'8600'=>array('name'=>'8600', 'paper-size'=>'letter', 'metric'=>'mm', 'marginLeft'=>7.1, 'marginTop'=>19, 'NX'=>3, 'NY'=>10, 'SpaceX'=>9.5, 'SpaceY'=>3.1, 'width'=>66.6, 'height'=>25.4, 'font-size'=>8),
|
||||
'L7163'=>array('name'=>'L7163', 'paper-size'=>'A4', 'metric'=>'mm', 'marginLeft'=>5, 'marginTop'=>15, 'NX'=>2, 'NY'=>7, 'SpaceX'=>25, 'SpaceY'=>0, 'width'=>99.1, 'height'=>38.1, 'font-size'=>9)
|
||||
);
|
||||
|
||||
// convert units (in to mm, mm to in)
|
||||
// $src and $dest must be 'in' or 'mm'
|
||||
function _Convert_Metric ($value, $src, $dest) {
|
||||
if ($src != $dest) {
|
||||
$tab['in'] = 39.37008;
|
||||
$tab['mm'] = 1000;
|
||||
return $value * $tab[$dest] / $tab[$src];
|
||||
} else {
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
// Give the height for a char size given.
|
||||
function _Get_Height_Chars($pt) {
|
||||
// Tableau de concordance entre la hauteur des caractères et de l'espacement entre les lignes
|
||||
$_Table_Hauteur_Chars = array(6=>2, 7=>2.5, 8=>3, 9=>4, 10=>5, 11=>6, 12=>7, 13=>8, 14=>9, 15=>10);
|
||||
if (in_array($pt, array_keys($_Table_Hauteur_Chars))) {
|
||||
return $_Table_Hauteur_Chars[$pt];
|
||||
} else {
|
||||
return 100; // There is a prob..
|
||||
}
|
||||
}
|
||||
|
||||
function _Set_Format($format) {
|
||||
$this->_Metric = $format['metric'];
|
||||
$this->_Avery_Name = $format['name'];
|
||||
$this->_Margin_Left = $this->_Convert_Metric ($format['marginLeft'], $this->_Metric, $this->_Metric_Doc);
|
||||
$this->_Margin_Top = $this->_Convert_Metric ($format['marginTop'], $this->_Metric, $this->_Metric_Doc);
|
||||
$this->_X_Space = $this->_Convert_Metric ($format['SpaceX'], $this->_Metric, $this->_Metric_Doc);
|
||||
$this->_Y_Space = $this->_Convert_Metric ($format['SpaceY'], $this->_Metric, $this->_Metric_Doc);
|
||||
$this->_X_Number = $format['NX'];
|
||||
$this->_Y_Number = $format['NY'];
|
||||
$this->_Width = $this->_Convert_Metric ($format['width'], $this->_Metric, $this->_Metric_Doc);
|
||||
$this->_Height = $this->_Convert_Metric ($format['height'], $this->_Metric, $this->_Metric_Doc);
|
||||
$this->Set_Font_Size($format['font-size']);
|
||||
}
|
||||
|
||||
function PDF_Label ($format, $unit='mm', $posX=1, $posY=1) {
|
||||
if (is_array($format)) {
|
||||
// Si c'est un format personnel alors on maj les valeurs
|
||||
$Tformat = $format;
|
||||
} else {
|
||||
// Si c'est un format avery on stocke le nom de ce format selon la norme Avery.
|
||||
// Permettra d'aller récupérer les valeurs dans le tableau _Avery_Labels
|
||||
$Tformat = $this->_Avery_Labels[$format];
|
||||
}
|
||||
|
||||
parent::FPDF('P', $Tformat['metric'], $Tformat['paper-size']);
|
||||
$this->_Set_Format($Tformat);
|
||||
$this->Set_Font_Name('Arial');
|
||||
$this->SetMargins(0,0);
|
||||
$this->SetAutoPageBreak(false);
|
||||
|
||||
$this->_Metric_Doc = $unit;
|
||||
// Permet de commencer l'impression à l'étiquette désirée dans le cas où la page a déjà servi
|
||||
if ($posX > 1) $posX--; else $posX=0;
|
||||
if ($posY > 1) $posY--; else $posY=0;
|
||||
if ($posX >= $this->_X_Number) $posX = $this->_X_Number-1;
|
||||
if ($posY >= $this->_Y_Number) $posY = $this->_Y_Number-1;
|
||||
$this->_COUNTX = $posX;
|
||||
$this->_COUNTY = $posY;
|
||||
}
|
||||
|
||||
// Méthode qui permet de modifier la taille des caractères
|
||||
// Cela modifiera aussi l'espace entre chaque ligne
|
||||
function Set_Font_Size($pt) {
|
||||
if ($pt > 3) {
|
||||
$this->_Char_Size = $pt;
|
||||
$this->_Line_Height = $this->_Get_Height_Chars($pt);
|
||||
$this->SetFontSize($this->_Char_Size);
|
||||
}
|
||||
}
|
||||
|
||||
// Method to change font name
|
||||
function Set_Font_Name($fontname) {
|
||||
if ($fontname != '') {
|
||||
$this->_Font_Name = $fontname;
|
||||
$this->SetFont($this->_Font_Name);
|
||||
}
|
||||
}
|
||||
|
||||
// On imprime une étiqette
|
||||
function Add_PDF_Label($texte) {
|
||||
// We are in a new page, then we must add a page
|
||||
if (($this->_COUNTX ==0) and ($this->_COUNTY==0)) {
|
||||
$this->AddPage();
|
||||
}
|
||||
|
||||
$_PosX = $this->_Margin_Left+($this->_COUNTX*($this->_Width+$this->_X_Space));
|
||||
$_PosY = $this->_Margin_Top+($this->_COUNTY*($this->_Height+$this->_Y_Space));
|
||||
$this->SetXY($_PosX+3, $_PosY+3);
|
||||
$this->MultiCell($this->_Width, $this->_Line_Height, $texte);
|
||||
$this->_COUNTY++;
|
||||
|
||||
if ($this->_COUNTY == $this->_Y_Number) {
|
||||
// Si on est en bas de page, on remonte le 'curseur' de position
|
||||
$this->_COUNTX++;
|
||||
$this->_COUNTY=0;
|
||||
}
|
||||
|
||||
if ($this->_COUNTX == $this->_X_Number) {
|
||||
// Si on est en bout de page, alors on repart sur une nouvelle page
|
||||
$this->_COUNTX=0;
|
||||
$this->_COUNTY=0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@ -26,8 +26,6 @@
|
||||
*/
|
||||
|
||||
require_once(FPDFI_PATH.'fpdi_protection.php');
|
||||
require_once(DOL_DOCUMENT_ROOT ."/includes/fpdf/fpdf_indexes.php");
|
||||
require_once(DOL_DOCUMENT_ROOT ."/includes/fpdf/fpdf_html.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php");
|
||||
|
||||
/**
|
||||
|
||||
@ -16,15 +16,13 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
* or see http://www.gnu.org/
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/includes/modules/barcode/phpbarcode.modules.php
|
||||
\ingroup facture
|
||||
\brief Fichier contenant la classe du modèle de generation code barre phpbarcode
|
||||
\version $Revision$
|
||||
\version $Id$
|
||||
*/
|
||||
|
||||
require_once(DOL_DOCUMENT_ROOT ."/includes/modules/barcode/modules_barcode.php");
|
||||
@ -84,10 +82,10 @@ class modPhpbarcode extends ModeleBarCode
|
||||
}
|
||||
|
||||
/**
|
||||
\brief Retourne fichier image
|
||||
\param $code Valeur numérique a coder
|
||||
\param $encoding Mode de codage
|
||||
\param $readable Code lisible
|
||||
* \brief Return an image file on output
|
||||
* \param $code Valeur numérique a coder
|
||||
* \param $encoding Mode de codage
|
||||
* \param $readable Code lisible
|
||||
*/
|
||||
function buildBarCode($code,$encoding,$readable='Y')
|
||||
{
|
||||
@ -112,7 +110,27 @@ class modPhpbarcode extends ModeleBarCode
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Save an image file on disk
|
||||
* \param $code Valeur numérique a coder
|
||||
* \param $encoding Mode de codage
|
||||
* \param $readable Code lisible
|
||||
*/
|
||||
function writeBarCode($code,$encoding,$readable='Y')
|
||||
{
|
||||
global $conf,$filebarcode;
|
||||
|
||||
create_exdir($conf->barcode->dir_temp);
|
||||
|
||||
$file=$conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png';
|
||||
|
||||
$filebarcode=$file; // global var to be used in buildBarCode
|
||||
$result=$this->buildBarCode($code,$encoding,$readable);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
* Copyright (C) 2005-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2005 Regis Houssin <regis@dolibarr.fr>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@ -27,7 +27,7 @@
|
||||
*/
|
||||
|
||||
require_once(DOL_DOCUMENT_ROOT.'/lib/functions.lib.php');
|
||||
require_once DOL_DOCUMENT_ROOT.'/includes/fpdf/DolibarrPdfBarCode.class.php';
|
||||
require_once(DOL_DOCUMENT_ROOT.'/includes/fpdf/fpdfi/fpdi_protection.php');
|
||||
|
||||
|
||||
/**
|
||||
@ -35,7 +35,7 @@ require_once DOL_DOCUMENT_ROOT.'/includes/fpdf/DolibarrPdfBarCode.class.php';
|
||||
* \brief Parent class of ssending receipts models
|
||||
*/
|
||||
|
||||
class ModelePdfExpedition extends DolibarrPdfBarCode
|
||||
class ModelePdfExpedition extends FPDF
|
||||
{
|
||||
var $error='';
|
||||
|
||||
|
||||
@ -87,9 +87,11 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
|
||||
|
||||
$pdf->Rect($this->marge_gauche, $this->marge_haute, $this->page_largeur-$this->marge_gauche-$this->marge_droite, 30);
|
||||
|
||||
if ($this->barcode->enabled)
|
||||
if ($conf->barcode->enabled)
|
||||
{
|
||||
$pdf->Code39($this->marge_gauche+3, $this->marge_haute+3, $this->expe->ref);
|
||||
// TODO Build code bar with function writeBarCode of barcode module for sending ref $this->expe->ref
|
||||
//$pdf->SetXY($this->marge_gauche+3, $this->marge_haute+3);
|
||||
//$pdf->Image($logo,10, 5, 0, 24);
|
||||
}
|
||||
|
||||
$pdf->SetDrawColor(128,128,128);
|
||||
@ -100,9 +102,11 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
|
||||
$pdf->Text($posx, 28, $outputlangs->transnoentities("Date")." : ".dolibarr_print_date($this->expe->date,"%d %b %Y",false,$outputlangs));
|
||||
$pdf->Text($posx, 34, $outputlangs->transnoentities("Page")." : ".$pdf->PageNo() ."/{nb}", 0);
|
||||
|
||||
if ($this->barcode->enabled)
|
||||
if ($conf->barcode->enabled)
|
||||
{
|
||||
$pdf->Code39($this->marge_gauche+3, 44, $this->expe->commande->ref);
|
||||
// TODO Build code bar with function writeBarCode of barcode module for sending ref $this->expe->ref
|
||||
//$pdf->SetXY($this->marge_gauche+3, $this->marge_haute+3);
|
||||
//$pdf->Image($logo,10, 5, 0, 24);
|
||||
}
|
||||
|
||||
$pdf->SetFont('Arial','', 14);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user