Mise a jour fpdf et modif format fichier en unix.
This commit is contained in:
parent
09b59f576e
commit
f4f4f95f0d
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['helveticaB']=array(
|
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
|
||||||
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
|
||||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
|
||||||
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
|
||||||
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
|
||||||
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
|
||||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
|
||||||
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
|
||||||
?>
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['helveticaBI']=array(
|
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722,
|
|
||||||
'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
|
||||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889,
|
|
||||||
'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556,
|
|
||||||
chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
|
||||||
chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
|
||||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611,
|
|
||||||
chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556);
|
|
||||||
?>
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['timesB']=array(
|
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722,
|
|
||||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000,
|
|
||||||
'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833,
|
|
||||||
'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
|
||||||
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
|
||||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
|
||||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
|
||||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
|
||||||
?>
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['timesI']=array(
|
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675,
|
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611,
|
|
||||||
'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833,
|
|
||||||
'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722,
|
|
||||||
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
|
||||||
chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980,
|
|
||||||
chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611,
|
|
||||||
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
|
||||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
|
||||||
?>
|
|
||||||
File diff suppressed because it is too large
Load Diff
302
htdocs/includes/fpdf/fpdf/FAQ.htm
Normal file
302
htdocs/includes/fpdf/fpdf/FAQ.htm
Normal file
@ -0,0 +1,302 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
|
||||||
|
<TITLE>FAQ</TITLE>
|
||||||
|
<LINK TYPE="text/css" REL="stylesheet" HREF="fpdf.css">
|
||||||
|
</HEAD>
|
||||||
|
<BODY>
|
||||||
|
<H2>FAQ</H2>
|
||||||
|
<UL STYLE="list-style-type:none; margin-left:0; padding-left:0; margin-bottom:2.2em">
|
||||||
|
<LI><B>1.</B> <A HREF='#1'>Quelle est exactement la licence de FPDF ? Y a-t-il des restrictions d'utilisation ?</A>
|
||||||
|
<LI><B>2.</B> <A HREF='#2'>Lorsque j'essaie de créer un PDF, plein de caractères bizarres s'affichent à l'écran.</A>
|
||||||
|
<LI><B>3.</B> <A HREF='#3'>J'essaie de générer un PDF et IE m'affiche une page blanche. Que se passe-t-il ?</A>
|
||||||
|
<LI><B>4.</B> <A HREF='#4'>J'envoie des paramètres en utilisant la méthode POST et les valeurs n'apparaissent pas dans le PDF.</A>
|
||||||
|
<LI><B>5.</B> <A HREF='#5'>Lorsque j'utilise une session PHP, IE n'affiche plus mon PDF mais propose de le télécharger.</A>
|
||||||
|
<LI><B>6.</B> <A HREF='#6'>Quand je suis en SSL, IE n'arrive pas à ouvrir le PDF.</A>
|
||||||
|
<LI><B>7.</B> <A HREF='#7'>Quand j'exécute un script j'obtiens le message "FPDF error: Don't alter the locale before including class file".</A>
|
||||||
|
<LI><B>8.</B> <A HREF='#8'>J'essaie de mettre un PNG et Acrobat me dit "Une erreur est survenue lors du traitement d'une page. Une erreur d'affichage est survenue".</A>
|
||||||
|
<LI><B>9.</B> <A HREF='#9'>J'ai l'erreur suivante quand j'essaie de générer un PDF : Warning: Cannot add header information - headers already sent by (output started at script.php:X)</A>
|
||||||
|
<LI><B>10.</B> <A HREF='#10'>J'essaie d'afficher une variable dans la méthode Header mais rien ne s'imprime.</A>
|
||||||
|
<LI><B>11.</B> <A HREF='#11'>J'ai défini les méthodes Header et Footer dans ma classe PDF mais rien ne s'affiche.</A>
|
||||||
|
<LI><B>12.</B> <A HREF='#12'>Je n'arrive pas à faire de retour à la ligne. J'ai bien mis \n dans la chaîne imprimée par MultiCell mais ça ne marche pas.</A>
|
||||||
|
<LI><B>13.</B> <A HREF='#13'>J'essaie de mettre le caractère euro mais je n'y arrive pas.</A>
|
||||||
|
<LI><B>14.</B> <A HREF='#14'>Je dessine un cadre avec des dimensions très précises, mais à l'impression je constate des écarts.</A>
|
||||||
|
<LI><B>15.</B> <A HREF='#15'>Je voudrais utiliser toute la surface de la page mais à l'impression j'ai toujours des marges. Comment les enlever ?</A>
|
||||||
|
<LI><B>16.</B> <A HREF='#16'>Quelle est la taille limite des fichiers que je peux générer avec FPDF ?</A>
|
||||||
|
<LI><B>17.</B> <A HREF='#17'>Est-ce que je peux modifier un PDF avec FPDF ?</A>
|
||||||
|
<LI><B>18.</B> <A HREF='#18'>Je voudrais faire un moteur de recherche en PHP et indexer des PDF. Est-ce que je peux le faire avec FPDF ?</A>
|
||||||
|
<LI><B>19.</B> <A HREF='#19'>Est-ce que je peux transformer une page HTML en PDF avec FPDF ?</A>
|
||||||
|
<LI><B>20.</B> <A HREF='#20'>Est-ce que je peux concaténer des PDF avec FPDF ?</A>
|
||||||
|
</UL>
|
||||||
|
<P><A NAME='1'><B>1.</B></A> <SPAN CLASS='st'>Quelle est exactement la licence de FPDF ? Y a-t-il des restrictions d'utilisation ?</SPAN></P>
|
||||||
|
FPDF est Freeware (c'est indiqué au début du fichier source). Il n'y a pas de restriction
|
||||||
|
d'usage. Vous pouvez l'incorporer librement dans votre application (commerciale ou non), avec
|
||||||
|
ou sans modification. Vous pouvez également le redistribuer.
|
||||||
|
<P><A NAME='2'><B>2.</B></A> <SPAN CLASS='st'>Lorsque j'essaie de créer un PDF, plein de caractères bizarres s'affichent à l'écran.</SPAN></P>
|
||||||
|
Ces caractères "bizarres" sont en fait le contenu réel du PDF. Ce comportement est un bug d'IE.
|
||||||
|
Lorsqu'il reçoit d'abord une page HTML, puis un PDF à partir de la même URL, il l'affiche
|
||||||
|
directement sans lancer le plug-in Acrobat. Cela arrive fréquemment en cours de développement :
|
||||||
|
à la moindre erreur de script, une page HTML est envoyée, et après correction, le PDF arrive.
|
||||||
|
<BR>
|
||||||
|
Pour résoudre le problème, il suffit de fermer IE et de le relancer. On peut aussi aller sur
|
||||||
|
une autre URL et revenir.
|
||||||
|
<BR>
|
||||||
|
Pour éviter ce genre de désagrément durant le développement, on peut générer le PDF directement
|
||||||
|
dans un fichier et l'ouvrir via l'explorateur.
|
||||||
|
<P><A NAME='3'><B>3.</B></A> <SPAN CLASS='st'>J'essaie de générer un PDF et IE m'affiche une page blanche. Que se passe-t-il ?</SPAN></P>
|
||||||
|
Tout d'abord, vérifiez que vous n'envoyez rien au navigateur après le PDF (même pas un espace
|
||||||
|
ou un retour-chariot). Vous pouvez mettre un exit juste après l'appel à la méthode Output()
|
||||||
|
pour en être sûr.
|
||||||
|
<BR>
|
||||||
|
Si ce n'est pas ça, c'est que vous êtes victime du syndrome de la "page blanche". IE utilisé
|
||||||
|
en conjonction avec le plug-in Acrobat souffre de très nombreux bugs, quelles que soient les
|
||||||
|
versions. Essayez de tester votre application avec le plus de versions d'IE possible (en tout cas
|
||||||
|
si elle est sur Internet). Le problème survient surtout lorsqu'on utilise la méthode POST, c'est
|
||||||
|
pourquoi il est fortement déconseillé de l'utiliser (d'autant qu'elle pose d'autres problèmes,
|
||||||
|
voir la question suivante). Le GET marche mieux mais peut échouer lorsque l'URL devient trop
|
||||||
|
longue : il ne faut pas dépasser 45 caractères pour la query string. Il existe cependant une
|
||||||
|
astuce pour dépasser cette limite : terminer l'URL par .pdf, ce qui trompe IE. Si vous utilisez
|
||||||
|
un formulaire, il suffit de rajouter un champ caché en dernière position :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
<INPUT TYPE="HIDDEN" NAME="ext" VALUE=".pdf">
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
L'utilisation de session PHP cause également souvent des dysfonctionnements (il faut éviter
|
||||||
|
d'envoyer des en-têtes HTTP empêchant la mise en cache). Voir la question 5 pour un moyen
|
||||||
|
de résoudre le problème.
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
Pour éviter tous ces problèmes de manière fiable, il existe deux principales techniques :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
- Désactiver le plug-in et utiliser Acrobat comme application externe. Pour cela, lancez
|
||||||
|
Acrobat ; dans le menu Fichier, Préférences, Générales, désactivez l'option "Intégrer au
|
||||||
|
navigateur Web" (pour Acrobat 5 : Edition, Préférences, Options, "Afficher dans le navigateur").
|
||||||
|
Puis, lorsque vous récupérez un PDF dans IE, ce dernier affiche la boîte "Ouvrir ce fichier" ou
|
||||||
|
"Enregistrer ce fichier". Décochez la case "Toujours demander avant d'ouvrir ce type de fichier"
|
||||||
|
et choisissez Ouvrir. Dorénavant les PDF s'ouvriront automatiquement dans une fenêtre Acrobat
|
||||||
|
indépendante.
|
||||||
|
<BR>
|
||||||
|
L'inconvénient de la méthode est qu'il faut toucher à la configuration du poste client, ce
|
||||||
|
qu'on peut faire en intranet mais pas pour Internet.
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
- Utiliser une technique de redirection. Le principe consiste à générer le PDF dans un fichier
|
||||||
|
temporaire sur le serveur et à rediriger le client dessus (en utilisant du JavaScript, pas
|
||||||
|
l'en-tête HTTP Location qui pose aussi des problèmes). Par exemple, à la fin du script, on
|
||||||
|
peut mettre :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
//Détermination d'un nom de fichier temporaire dans le répertoire courant<BR>
|
||||||
|
$file=basename(tempnam(getcwd(),'tmp'));<BR>
|
||||||
|
//Sauvegarde du PDF dans le fichier<BR>
|
||||||
|
$pdf->Output($file);<BR>
|
||||||
|
//Redirection JavaScript<BR>
|
||||||
|
echo "<HTML><SCRIPT>document.location='getpdf.php?f=$file';</SCRIPT></HTML>";
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
Puis ceci dans getpdf.php :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
<?php<BR>
|
||||||
|
$f=$HTTP_GET_VARS['f'];<BR>
|
||||||
|
//Contrôle du fichier (à ne pas oublier !)<BR>
|
||||||
|
if(substr($f,0,3)!='tmp' or strpos($f,'/') or strpos($f,'\\'))<BR>
|
||||||
|
die("Nom de fichier incorrect");<BR>
|
||||||
|
if(!file_exists($f))<BR>
|
||||||
|
die("Le fichier n'existe pas");<BR>
|
||||||
|
//Traitement de la requête spéciale IE au cas où<BR>
|
||||||
|
if($HTTP_SERVER_VARS['HTTP_USER_AGENT']=='contype')<BR>
|
||||||
|
{<BR>
|
||||||
|
Header('Content-Type: application/pdf');<BR>
|
||||||
|
exit;<BR>
|
||||||
|
}<BR>
|
||||||
|
//Envoi du PDF<BR>
|
||||||
|
Header('Content-Type: application/pdf');<BR>
|
||||||
|
Header('Content-Length: '.filesize($f));<BR>
|
||||||
|
readfile($f);<BR>
|
||||||
|
//Suppression du fichier<BR>
|
||||||
|
unlink($f);<BR>
|
||||||
|
exit;<BR>
|
||||||
|
?>
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
Cette méthode fonctionne dans la plupart des cas, mais pose encore des problèmes avec IE6. La
|
||||||
|
méthode "ultime" consiste à rediriger directement sur le fichier temporaire. Ce dernier doit
|
||||||
|
donc avoir l'extension .pdf :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
//Détermination d'un nom de fichier temporaire dans le répertoire courant<BR>
|
||||||
|
$file=basename(tempnam(getcwd(),'tmp'));<BR>
|
||||||
|
rename($file,$file.'.pdf');<BR>
|
||||||
|
$file.='.pdf';<BR>
|
||||||
|
//Sauvegarde du PDF dans le fichier<BR>
|
||||||
|
$pdf->Output($file);<BR>
|
||||||
|
//Redirection JavaScript<BR>
|
||||||
|
echo "<HTML><SCRIPT>document.location='$file';</SCRIPT></HTML>";
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
Cette méthode transforme un PDF dynamique en PDF statique et évite ainsi tous les ennuis.
|
||||||
|
Par contre, il faut prévoir une procédure de nettoyage pour effacer les fichiers temporaires.
|
||||||
|
Par exemple :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
function CleanFiles($dir)<BR>
|
||||||
|
{<BR>
|
||||||
|
//Efface les fichiers temporaires<BR>
|
||||||
|
$t=time();<BR>
|
||||||
|
$h=opendir($dir);<BR>
|
||||||
|
while($file=readdir($h))<BR>
|
||||||
|
{<BR>
|
||||||
|
if(substr($file,0,3)=='tmp' and substr($file,-4)=='.pdf')<BR>
|
||||||
|
{<BR>
|
||||||
|
$path=$dir.'/'.$file;<BR>
|
||||||
|
if($t-filemtime($path)>3600)<BR>
|
||||||
|
@unlink($path);<BR>
|
||||||
|
}<BR>
|
||||||
|
}<BR>
|
||||||
|
closedir($h);<BR>
|
||||||
|
}
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
Cette fonction efface tous les fichiers de la forme tmp*.pdf dans le répertoire spécifié qui
|
||||||
|
datent de plus d'une heure. Vous pouvez l'appeler où vous voulez, par exemple dans le script
|
||||||
|
qui génère le PDF.
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
Remarque : il est nécessaire d'ouvrir une nouvelle fenêtre pour le PDF, car on ne peut plus
|
||||||
|
revenir en arrière à cause de la redirection.
|
||||||
|
<P><A NAME='4'><B>4.</B></A> <SPAN CLASS='st'>J'envoie des paramètres en utilisant la méthode POST et les valeurs n'apparaissent pas dans le PDF.</SPAN></P>
|
||||||
|
C'est un problème qui affecte certaines versions d'IE (en particulier la première 5.5). Voir la
|
||||||
|
question précédente pour les moyens de le contourner.
|
||||||
|
<P><A NAME='5'><B>5.</B></A> <SPAN CLASS='st'>Lorsque j'utilise une session PHP, IE n'affiche plus mon PDF mais propose de le télécharger.</SPAN></P>
|
||||||
|
C'est un problème qui affecte certaines versions d'IE. Pour le contourner, ajoutez la ligne
|
||||||
|
suivante avant session_start() :<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
session_cache_limiter('private');
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
ou bien faites une redirection comme expliqué à la question 3.
|
||||||
|
<P><A NAME='6'><B>6.</B></A> <SPAN CLASS='st'>Quand je suis en SSL, IE n'arrive pas à ouvrir le PDF.</SPAN></P>
|
||||||
|
Le problème peut être résolu en ajoutant cette ligne :<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
Header('Pragma: public');
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
|
||||||
|
<P><A NAME='7'><B>7.</B></A> <SPAN CLASS='st'>Quand j'exécute un script j'obtiens le message "FPDF error: Don't alter the locale before including class file".</SPAN></P>
|
||||||
|
Lorsqu'on configure le séparateur décimal comme virgule avant d'inclure un fichier, il y a un
|
||||||
|
<A HREF="http://bugs.php.net/bug.php?id=17105" TARGET="_blank">bug</A> dans certaines versions de PHP et les
|
||||||
|
nombres décimaux sont tronqués. Il ne faut donc pas faire d'appel à setlocale() avant d'inclure la
|
||||||
|
classe. Sous Unix, il ne faut pas non plus définir la variable d'environnement LC_ALL, car cela
|
||||||
|
est équivalent à faire un appel à setlocale().
|
||||||
|
<P><A NAME='8'><B>8.</B></A> <SPAN CLASS='st'>J'essaie de mettre un PNG et Acrobat me dit "Une erreur est survenue lors du traitement d'une page. Une erreur d'affichage est survenue".</SPAN></P>
|
||||||
|
Acrobat 5 a un bug et ne peut pas afficher les images transparentes monochromes (i.e. avec 1 bit par pixel).
|
||||||
|
Enlevez la transparence ou passez votre image en 16 couleurs (4 bits par pixel) ou plus.
|
||||||
|
<P><A NAME='9'><B>9.</B></A> <SPAN CLASS='st'>J'ai l'erreur suivante quand j'essaie de générer un PDF : Warning: Cannot add header information - headers already sent by (output started at script.php:X)</SPAN></P>
|
||||||
|
Il ne faut rien envoyer d'autre au navigateur que le PDF lui-même : pas d'HTML, pas d'espace, pas
|
||||||
|
de retour-chariot, ni avant ni après. Le script envoie quelque chose à la ligne X.
|
||||||
|
<P><A NAME='10'><B>10.</B></A> <SPAN CLASS='st'>J'essaie d'afficher une variable dans la méthode Header mais rien ne s'imprime.</SPAN></P>
|
||||||
|
Il faut utiliser le mot-clé <TT>global</TT>, par exemple :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
function Header()<BR>
|
||||||
|
{<BR>
|
||||||
|
global $titre;<BR>
|
||||||
|
<BR>
|
||||||
|
$this->SetFont('Arial','B',15);<BR>
|
||||||
|
$this->Cell(0,10,$titre,1,1,'C');<BR>
|
||||||
|
}
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
|
||||||
|
<P><A NAME='11'><B>11.</B></A> <SPAN CLASS='st'>J'ai défini les méthodes Header et Footer dans ma classe PDF mais rien ne s'affiche.</SPAN></P>
|
||||||
|
Il faut créer un objet de la classe PDF et non pas FPDF :<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
$pdf=new PDF();
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
|
||||||
|
<P><A NAME='12'><B>12.</B></A> <SPAN CLASS='st'>Je n'arrive pas à faire de retour à la ligne. J'ai bien mis \n dans la chaîne imprimée par MultiCell mais ça ne marche pas.</SPAN></P>
|
||||||
|
Il faut mettre la chaîne entre guillemets et non pas entre apostrophes.
|
||||||
|
<P><A NAME='13'><B>13.</B></A> <SPAN CLASS='st'>J'essaie de mettre le caractère euro mais je n'y arrive pas.</SPAN></P>
|
||||||
|
Pour les polices standard, le caractère euro a pour code 128. Vous pouvez par commodité définir
|
||||||
|
une constante comme suit :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
<TABLE WIDTH="100%" BGCOLOR="#E0E0E0"><TR><TD>
|
||||||
|
<TT>
|
||||||
|
define('EURO',chr(128));
|
||||||
|
</TT>
|
||||||
|
</TD></TR></TABLE><BR>
|
||||||
|
Note : Acrobat 4 ou supérieur est requis pour afficher l'euro.
|
||||||
|
<P><A NAME='14'><B>14.</B></A> <SPAN CLASS='st'>Je dessine un cadre avec des dimensions très précises, mais à l'impression je constate des écarts.</SPAN></P>
|
||||||
|
Pour respecter les dimensions, il faut décocher la case "Ajuster" dans la boîte de dialogue
|
||||||
|
d'impression.
|
||||||
|
<P><A NAME='15'><B>15.</B></A> <SPAN CLASS='st'>Je voudrais utiliser toute la surface de la page mais à l'impression j'ai toujours des marges. Comment les enlever ?</SPAN></P>
|
||||||
|
Les imprimantes ont toutes des marges physiques (variables en fonction du modèle), il est donc
|
||||||
|
impossible de les supprimer et d'imprimer sur la totalité de la page.
|
||||||
|
<P><A NAME='16'><B>16.</B></A> <SPAN CLASS='st'>Quelle est la taille limite des fichiers que je peux générer avec FPDF ?</SPAN></P>
|
||||||
|
Il n'y a pas de limite particulière. Il existe cependant certaines contraintes :
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
- La taille mémoire allouée par défaut aux scripts PHP est de 8 Mo. Pour de très gros
|
||||||
|
documents, en particulier avec des images, cette limite peut être atteinte (le fichier étant
|
||||||
|
construit en mémoire). Elle est paramétrée dans php.ini.
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
- Le temps d'exécution alloué par défaut est de 30 secondes. Cette limite peut bien entendu
|
||||||
|
être facilement dépassée. Elle est paramétrée dans php.ini et peut être éventuellement modifiée
|
||||||
|
à l'exécution par set_time_limit().
|
||||||
|
<BR>
|
||||||
|
<BR>
|
||||||
|
- Les navigateurs ont généralement un time-out de 5 minutes. Si vous envoyez le PDF directement
|
||||||
|
au navigateur et que vous dépassez cette limite, il sera perdu. Il est donc conseillé pour les
|
||||||
|
très gros documents de les générer dans un fichier, et d'envoyer des données de temps en temps
|
||||||
|
au navigateur (par exemple page 1, page 2... en utilisant flush() pour forcer l'envoi).
|
||||||
|
Lorsque le fichier est terminé, vous pouvez effectuer une redirection dessus avec JavaScript
|
||||||
|
ou bien créer un lien.
|
||||||
|
<BR>
|
||||||
|
Remarque : même lorsque le navigateur part en time-out, il est possible que le script continue
|
||||||
|
à s'exécuter sur le serveur.
|
||||||
|
<P><A NAME='17'><B>17.</B></A> <SPAN CLASS='st'>Est-ce que je peux modifier un PDF avec FPDF ?</SPAN></P>
|
||||||
|
Il est possible d'importer un PDF existant grâce à l'extension FPDI :<BR>
|
||||||
|
<BR>
|
||||||
|
<A HREF="http://fpdi.setasign.de" TARGET="_blank">http://fpdi.setasign.de</A>
|
||||||
|
<P><A NAME='18'><B>18.</B></A> <SPAN CLASS='st'>Je voudrais faire un moteur de recherche en PHP et indexer des PDF. Est-ce que je peux le faire avec FPDF ?</SPAN></P>
|
||||||
|
Non. Par contre il existe un utilitaire GPL en C, pdftotext, capable d'extraire le contenu
|
||||||
|
textuel d'un PDF. Il est fourni avec l'archive de Xpdf :<BR>
|
||||||
|
<BR>
|
||||||
|
<A HREF="http://www.foolabs.com/xpdf/" TARGET="_blank">http://www.foolabs.com/xpdf/</A>
|
||||||
|
<P><A NAME='19'><B>19.</B></A> <SPAN CLASS='st'>Est-ce que je peux transformer une page HTML en PDF avec FPDF ?</SPAN></P>
|
||||||
|
Non, on ne peut convertir que de l'HTML très simple, pas des pages réelles. Par contre il
|
||||||
|
existe un utilitaire GPL en C, htmldoc, qui permet de le faire et donne de bons résultats :<BR>
|
||||||
|
<BR>
|
||||||
|
<A HREF="http://www.htmldoc.org" TARGET="_blank">http://www.htmldoc.org</A>
|
||||||
|
<P><A NAME='20'><B>20.</B></A> <SPAN CLASS='st'>Est-ce que je peux concaténer des PDF avec FPDF ?</SPAN></P>
|
||||||
|
Non. Par contre il existe des utilitaires gratuits pour le faire :<BR>
|
||||||
|
<BR>
|
||||||
|
<A HREF="http://thierry.schmit.free.fr/dev/mbtPdfAsm/mbtPdfAsm2.html" TARGET="_blank">http://thierry.schmit.free.fr/dev/mbtPdfAsm/mbtPdfAsm2.html</A><BR>
|
||||||
|
<A HREF="http://www.accesspdf.com/pdftk/">http://www.accesspdf.com/pdftk/</A>
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
0
htdocs/includes/fpdf/font/courier.php → htdocs/includes/fpdf/fpdf/font/courier.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/courier.php → htdocs/includes/fpdf/fpdf/font/courier.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/helvetica.php → htdocs/includes/fpdf/fpdf/font/helvetica.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/helvetica.php → htdocs/includes/fpdf/fpdf/font/helvetica.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/helveticab.php → htdocs/includes/fpdf/fpdf/font/helveticab.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/helveticab.php → htdocs/includes/fpdf/fpdf/font/helveticab.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/helveticabi.php → htdocs/includes/fpdf/fpdf/font/helveticabi.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/helveticabi.php → htdocs/includes/fpdf/fpdf/font/helveticabi.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/helveticai.php → htdocs/includes/fpdf/fpdf/font/helveticai.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/helveticai.php → htdocs/includes/fpdf/fpdf/font/helveticai.php
Executable file → Normal file
15
htdocs/includes/fpdf/fpdf/font/symbol.php
Normal file
15
htdocs/includes/fpdf/fpdf/font/symbol.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
$fpdf_charwidths['symbol']=array(
|
||||||
|
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
||||||
|
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549,
|
||||||
|
','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722,
|
||||||
|
'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768,
|
||||||
|
'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576,
|
||||||
|
'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0,
|
||||||
|
chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
||||||
|
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603,
|
||||||
|
chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768,
|
||||||
|
chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042,
|
||||||
|
chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329,
|
||||||
|
chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0);
|
||||||
|
?>
|
||||||
0
htdocs/includes/fpdf/font/times.php → htdocs/includes/fpdf/fpdf/font/times.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/times.php → htdocs/includes/fpdf/fpdf/font/times.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/timesb.php → htdocs/includes/fpdf/fpdf/font/timesb.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/timesb.php → htdocs/includes/fpdf/fpdf/font/timesb.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/timesbi.php → htdocs/includes/fpdf/fpdf/font/timesbi.php
Executable file → Normal file
0
htdocs/includes/fpdf/font/timesbi.php → htdocs/includes/fpdf/fpdf/font/timesbi.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/timesi.php → htdocs/includes/fpdf/fpdf/font/timesi.php
Executable file → Normal file
0
htdocs/includes/fpdf/fpdf152/font/timesi.php → htdocs/includes/fpdf/fpdf/font/timesi.php
Executable file → Normal file
15
htdocs/includes/fpdf/fpdf/font/zapfdingbats.php
Normal file
15
htdocs/includes/fpdf/fpdf/font/zapfdingbats.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
$fpdf_charwidths['zapfdingbats']=array(
|
||||||
|
chr(0)=>0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0,
|
||||||
|
chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939,
|
||||||
|
','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692,
|
||||||
|
'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776,
|
||||||
|
'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873,
|
||||||
|
'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317,
|
||||||
|
chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0,
|
||||||
|
chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788,
|
||||||
|
chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788,
|
||||||
|
chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918,
|
||||||
|
chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874,
|
||||||
|
chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0);
|
||||||
|
?>
|
||||||
11
htdocs/includes/fpdf/fpdf/fpdf.css
Normal file
11
htdocs/includes/fpdf/fpdf/fpdf.css
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
BODY {font-family:times new roman,serif}
|
||||||
|
H2 {color:#4000A0}
|
||||||
|
P.demo {text-align:center; margin-top:-10px}
|
||||||
|
A.demo {text-decoration:none; font-weight:bold; color:#0000CC}
|
||||||
|
A.demo:link {text-decoration:none; font-weight:bold; color:#0000CC}
|
||||||
|
A.demo:hover {text-decoration:none; font-weight:bold; color:#0000FF}
|
||||||
|
A.demo:active {text-decoration:none; font-weight:bold; color:#0000FF}
|
||||||
|
.st {font-weight:bold; color:#900000}
|
||||||
|
.kw {color:#000080; font-weight:bold}
|
||||||
|
.str {color:#CC0000}
|
||||||
|
.cmt {color:#008000}
|
||||||
268
htdocs/includes/fpdf/fpdf152/fpdf.php → htdocs/includes/fpdf/fpdf/fpdf.php
Executable file → Normal file
268
htdocs/includes/fpdf/fpdf152/fpdf.php → htdocs/includes/fpdf/fpdf/fpdf.php
Executable file → Normal file
@ -1,17 +1,17 @@
|
|||||||
<?php
|
<?php
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Software: FPDF *
|
* Logiciel : FPDF *
|
||||||
* Version: 1.52 *
|
* Version : 1.53 *
|
||||||
* Date: 2003-12-30 *
|
* Date : 31/12/2004 *
|
||||||
* Author: Olivier PLATHEY *
|
* Auteur : Olivier PLATHEY *
|
||||||
* License: Freeware *
|
* Licence : Freeware *
|
||||||
* *
|
* *
|
||||||
* You may use and modify this software as you wish. *
|
* Vous pouvez utiliser et modifier ce logiciel comme vous le souhaitez. *
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
if(!class_exists('FPDF'))
|
if(!class_exists('FPDF'))
|
||||||
{
|
{
|
||||||
define('FPDF_VERSION','1.52');
|
define('FPDF_VERSION','1.53');
|
||||||
|
|
||||||
class FPDF
|
class FPDF
|
||||||
{
|
{
|
||||||
@ -68,6 +68,7 @@ var $author; //author
|
|||||||
var $keywords; //keywords
|
var $keywords; //keywords
|
||||||
var $creator; //creator
|
var $creator; //creator
|
||||||
var $AliasNbPages; //alias for total number of pages
|
var $AliasNbPages; //alias for total number of pages
|
||||||
|
var $PDFVersion; //PDF version number
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* *
|
* *
|
||||||
@ -145,13 +146,13 @@ function FPDF($orientation='P',$unit='mm',$format='A4')
|
|||||||
$this->fh=$this->fhPt/$this->k;
|
$this->fh=$this->fhPt/$this->k;
|
||||||
//Page orientation
|
//Page orientation
|
||||||
$orientation=strtolower($orientation);
|
$orientation=strtolower($orientation);
|
||||||
if($orientation=='p' or $orientation=='portrait')
|
if($orientation=='p' || $orientation=='portrait')
|
||||||
{
|
{
|
||||||
$this->DefOrientation='P';
|
$this->DefOrientation='P';
|
||||||
$this->wPt=$this->fwPt;
|
$this->wPt=$this->fwPt;
|
||||||
$this->hPt=$this->fhPt;
|
$this->hPt=$this->fhPt;
|
||||||
}
|
}
|
||||||
elseif($orientation=='l' or $orientation=='landscape')
|
elseif($orientation=='l' || $orientation=='landscape')
|
||||||
{
|
{
|
||||||
$this->DefOrientation='L';
|
$this->DefOrientation='L';
|
||||||
$this->wPt=$this->fhPt;
|
$this->wPt=$this->fhPt;
|
||||||
@ -173,8 +174,10 @@ function FPDF($orientation='P',$unit='mm',$format='A4')
|
|||||||
$this->SetAutoPageBreak(true,2*$margin);
|
$this->SetAutoPageBreak(true,2*$margin);
|
||||||
//Full width display mode
|
//Full width display mode
|
||||||
$this->SetDisplayMode('fullwidth');
|
$this->SetDisplayMode('fullwidth');
|
||||||
//Compression
|
//Enable compression
|
||||||
$this->SetCompression(true);
|
$this->SetCompression(true);
|
||||||
|
//Set default PDF version number
|
||||||
|
$this->PDFVersion='1.3';
|
||||||
}
|
}
|
||||||
|
|
||||||
function SetMargins($left,$top,$right=-1)
|
function SetMargins($left,$top,$right=-1)
|
||||||
@ -191,7 +194,7 @@ function SetLeftMargin($margin)
|
|||||||
{
|
{
|
||||||
//Set left margin
|
//Set left margin
|
||||||
$this->lMargin=$margin;
|
$this->lMargin=$margin;
|
||||||
if($this->page>0 and $this->x<$margin)
|
if($this->page>0 && $this->x<$margin)
|
||||||
$this->x=$margin;
|
$this->x=$margin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,11 +221,11 @@ function SetAutoPageBreak($auto,$margin=0)
|
|||||||
function SetDisplayMode($zoom,$layout='continuous')
|
function SetDisplayMode($zoom,$layout='continuous')
|
||||||
{
|
{
|
||||||
//Set display mode in viewer
|
//Set display mode in viewer
|
||||||
if($zoom=='fullpage' or $zoom=='fullwidth' or $zoom=='real' or $zoom=='default' or !is_string($zoom))
|
if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom))
|
||||||
$this->ZoomMode=$zoom;
|
$this->ZoomMode=$zoom;
|
||||||
else
|
else
|
||||||
$this->Error('Incorrect zoom display mode: '.$zoom);
|
$this->Error('Incorrect zoom display mode: '.$zoom);
|
||||||
if($layout=='single' or $layout=='continuous' or $layout=='two' or $layout=='default')
|
if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default')
|
||||||
$this->LayoutMode=$layout;
|
$this->LayoutMode=$layout;
|
||||||
else
|
else
|
||||||
$this->Error('Incorrect layout display mode: '.$layout);
|
$this->Error('Incorrect layout display mode: '.$layout);
|
||||||
@ -282,8 +285,7 @@ function Error($msg)
|
|||||||
function Open()
|
function Open()
|
||||||
{
|
{
|
||||||
//Begin document
|
//Begin document
|
||||||
if($this->state==0)
|
$this->state=1;
|
||||||
$this->_begindoc();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function Close()
|
function Close()
|
||||||
@ -389,7 +391,7 @@ function PageNo()
|
|||||||
function SetDrawColor($r,$g=-1,$b=-1)
|
function SetDrawColor($r,$g=-1,$b=-1)
|
||||||
{
|
{
|
||||||
//Set color for all stroking operations
|
//Set color for all stroking operations
|
||||||
if(($r==0 and $g==0 and $b==0) or $g==-1)
|
if(($r==0 && $g==0 && $b==0) || $g==-1)
|
||||||
$this->DrawColor=sprintf('%.3f G',$r/255);
|
$this->DrawColor=sprintf('%.3f G',$r/255);
|
||||||
else
|
else
|
||||||
$this->DrawColor=sprintf('%.3f %.3f %.3f RG',$r/255,$g/255,$b/255);
|
$this->DrawColor=sprintf('%.3f %.3f %.3f RG',$r/255,$g/255,$b/255);
|
||||||
@ -400,7 +402,7 @@ function SetDrawColor($r,$g=-1,$b=-1)
|
|||||||
function SetFillColor($r,$g=-1,$b=-1)
|
function SetFillColor($r,$g=-1,$b=-1)
|
||||||
{
|
{
|
||||||
//Set color for all filling operations
|
//Set color for all filling operations
|
||||||
if(($r==0 and $g==0 and $b==0) or $g==-1)
|
if(($r==0 && $g==0 && $b==0) || $g==-1)
|
||||||
$this->FillColor=sprintf('%.3f g',$r/255);
|
$this->FillColor=sprintf('%.3f g',$r/255);
|
||||||
else
|
else
|
||||||
$this->FillColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255);
|
$this->FillColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255);
|
||||||
@ -412,7 +414,7 @@ function SetFillColor($r,$g=-1,$b=-1)
|
|||||||
function SetTextColor($r,$g=-1,$b=-1)
|
function SetTextColor($r,$g=-1,$b=-1)
|
||||||
{
|
{
|
||||||
//Set color for text
|
//Set color for text
|
||||||
if(($r==0 and $g==0 and $b==0) or $g==-1)
|
if(($r==0 && $g==0 && $b==0) || $g==-1)
|
||||||
$this->TextColor=sprintf('%.3f g',$r/255);
|
$this->TextColor=sprintf('%.3f g',$r/255);
|
||||||
else
|
else
|
||||||
$this->TextColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255);
|
$this->TextColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255);
|
||||||
@ -450,7 +452,7 @@ function Rect($x,$y,$w,$h,$style='')
|
|||||||
//Draw a rectangle
|
//Draw a rectangle
|
||||||
if($style=='F')
|
if($style=='F')
|
||||||
$op='f';
|
$op='f';
|
||||||
elseif($style=='FD' or $style=='DF')
|
elseif($style=='FD' || $style=='DF')
|
||||||
$op='B';
|
$op='B';
|
||||||
else
|
else
|
||||||
$op='S';
|
$op='S';
|
||||||
@ -461,39 +463,40 @@ function AddFont($family,$style='',$file='')
|
|||||||
{
|
{
|
||||||
//Add a TrueType or Type1 font
|
//Add a TrueType or Type1 font
|
||||||
$family=strtolower($family);
|
$family=strtolower($family);
|
||||||
|
if($file=='')
|
||||||
|
$file=str_replace(' ','',$family).strtolower($style).'.php';
|
||||||
if($family=='arial')
|
if($family=='arial')
|
||||||
$family='helvetica';
|
$family='helvetica';
|
||||||
$style=strtoupper($style);
|
$style=strtoupper($style);
|
||||||
if($style=='IB')
|
if($style=='IB')
|
||||||
$style='BI';
|
$style='BI';
|
||||||
if(isset($this->fonts[$family.$style]))
|
$fontkey=$family.$style;
|
||||||
|
if(isset($this->fonts[$fontkey]))
|
||||||
$this->Error('Font already added: '.$family.' '.$style);
|
$this->Error('Font already added: '.$family.' '.$style);
|
||||||
if($file=='')
|
include($this->_getfontpath().$file);
|
||||||
$file=str_replace(' ','',$family).strtolower($style).'.php';
|
|
||||||
if(defined('FPDF_FONTPATH'))
|
|
||||||
$file=FPDF_FONTPATH.$file;
|
|
||||||
include($file);
|
|
||||||
if(!isset($name))
|
if(!isset($name))
|
||||||
$this->Error('Could not include font definition file');
|
$this->Error('Could not include font definition file');
|
||||||
$i=count($this->fonts)+1;
|
$i=count($this->fonts)+1;
|
||||||
$this->fonts[$family.$style]=array('i'=>$i,'type'=>$type,'name'=>$name,'desc'=>$desc,'up'=>$up,'ut'=>$ut,'cw'=>$cw,'enc'=>$enc,'file'=>$file);
|
$this->fonts[$fontkey]=array('i'=>$i,'type'=>$type,'name'=>$name,'desc'=>$desc,'up'=>$up,'ut'=>$ut,'cw'=>$cw,'enc'=>$enc,'file'=>$file);
|
||||||
if($diff)
|
if($diff)
|
||||||
{
|
{
|
||||||
//Search existing encodings
|
//Search existing encodings
|
||||||
$d=0;
|
$d=0;
|
||||||
$nb=count($this->diffs);
|
$nb=count($this->diffs);
|
||||||
for($i=1;$i<=$nb;$i++)
|
for($i=1;$i<=$nb;$i++)
|
||||||
|
{
|
||||||
if($this->diffs[$i]==$diff)
|
if($this->diffs[$i]==$diff)
|
||||||
{
|
{
|
||||||
$d=$i;
|
$d=$i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if($d==0)
|
if($d==0)
|
||||||
{
|
{
|
||||||
$d=$nb+1;
|
$d=$nb+1;
|
||||||
$this->diffs[$d]=$diff;
|
$this->diffs[$d]=$diff;
|
||||||
}
|
}
|
||||||
$this->fonts[$family.$style]['diff']=$d;
|
$this->fonts[$fontkey]['diff']=$d;
|
||||||
}
|
}
|
||||||
if($file)
|
if($file)
|
||||||
{
|
{
|
||||||
@ -514,10 +517,10 @@ function SetFont($family,$style='',$size=0)
|
|||||||
$family=$this->FontFamily;
|
$family=$this->FontFamily;
|
||||||
if($family=='arial')
|
if($family=='arial')
|
||||||
$family='helvetica';
|
$family='helvetica';
|
||||||
elseif($family=='symbol' or $family=='zapfdingbats')
|
elseif($family=='symbol' || $family=='zapfdingbats')
|
||||||
$style='';
|
$style='';
|
||||||
$style=strtoupper($style);
|
$style=strtoupper($style);
|
||||||
if(is_int(strpos($style,'U')))
|
if(strpos($style,'U')!==false)
|
||||||
{
|
{
|
||||||
$this->underline=true;
|
$this->underline=true;
|
||||||
$style=str_replace('U','',$style);
|
$style=str_replace('U','',$style);
|
||||||
@ -529,7 +532,7 @@ function SetFont($family,$style='',$size=0)
|
|||||||
if($size==0)
|
if($size==0)
|
||||||
$size=$this->FontSizePt;
|
$size=$this->FontSizePt;
|
||||||
//Test if font is already selected
|
//Test if font is already selected
|
||||||
if($this->FontFamily==$family and $this->FontStyle==$style and $this->FontSizePt==$size)
|
if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size)
|
||||||
return;
|
return;
|
||||||
//Test if used for the first time
|
//Test if used for the first time
|
||||||
$fontkey=$family.$style;
|
$fontkey=$family.$style;
|
||||||
@ -542,12 +545,9 @@ function SetFont($family,$style='',$size=0)
|
|||||||
{
|
{
|
||||||
//Load metric file
|
//Load metric file
|
||||||
$file=$family;
|
$file=$family;
|
||||||
if($family=='times' or $family=='helvetica')
|
if($family=='times' || $family=='helvetica')
|
||||||
$file.=strtolower($style);
|
$file.=strtolower($style);
|
||||||
$file.='.php';
|
include($this->_getfontpath().$file.'.php');
|
||||||
if(defined('FPDF_FONTPATH'))
|
|
||||||
$file=FPDF_FONTPATH.$file;
|
|
||||||
include($file);
|
|
||||||
if(!isset($fpdf_charwidths[$fontkey]))
|
if(!isset($fpdf_charwidths[$fontkey]))
|
||||||
$this->Error('Could not include font metric file');
|
$this->Error('Could not include font metric file');
|
||||||
}
|
}
|
||||||
@ -606,7 +606,7 @@ function Text($x,$y,$txt)
|
|||||||
{
|
{
|
||||||
//Output a string
|
//Output a string
|
||||||
$s=sprintf('BT %.2f %.2f Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
|
$s=sprintf('BT %.2f %.2f Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
|
||||||
if($this->underline and $txt!='')
|
if($this->underline && $txt!='')
|
||||||
$s.=' '.$this->_dounderline($x,$y,$txt);
|
$s.=' '.$this->_dounderline($x,$y,$txt);
|
||||||
if($this->ColorFlag)
|
if($this->ColorFlag)
|
||||||
$s='q '.$this->TextColor.' '.$s.' Q';
|
$s='q '.$this->TextColor.' '.$s.' Q';
|
||||||
@ -623,7 +623,7 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')
|
|||||||
{
|
{
|
||||||
//Output a cell
|
//Output a cell
|
||||||
$k=$this->k;
|
$k=$this->k;
|
||||||
if($this->y+$h>$this->PageBreakTrigger and !$this->InFooter and $this->AcceptPageBreak())
|
if($this->y+$h>$this->PageBreakTrigger && !$this->InFooter && $this->AcceptPageBreak())
|
||||||
{
|
{
|
||||||
//Automatic page break
|
//Automatic page break
|
||||||
$x=$this->x;
|
$x=$this->x;
|
||||||
@ -644,7 +644,7 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')
|
|||||||
if($w==0)
|
if($w==0)
|
||||||
$w=$this->w-$this->rMargin-$this->x;
|
$w=$this->w-$this->rMargin-$this->x;
|
||||||
$s='';
|
$s='';
|
||||||
if($fill==1 or $border==1)
|
if($fill==1 || $border==1)
|
||||||
{
|
{
|
||||||
if($fill==1)
|
if($fill==1)
|
||||||
$op=($border==1) ? 'B' : 'f';
|
$op=($border==1) ? 'B' : 'f';
|
||||||
@ -656,16 +656,16 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')
|
|||||||
{
|
{
|
||||||
$x=$this->x;
|
$x=$this->x;
|
||||||
$y=$this->y;
|
$y=$this->y;
|
||||||
if(is_int(strpos($border,'L')))
|
if(strpos($border,'L')!==false)
|
||||||
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k);
|
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k);
|
||||||
if(is_int(strpos($border,'T')))
|
if(strpos($border,'T')!==false)
|
||||||
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k);
|
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k);
|
||||||
if(is_int(strpos($border,'R')))
|
if(strpos($border,'R')!==false)
|
||||||
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
|
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
|
||||||
if(is_int(strpos($border,'B')))
|
if(strpos($border,'B')!==false)
|
||||||
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
|
$s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k);
|
||||||
}
|
}
|
||||||
if($txt!='')
|
if($txt!=='')
|
||||||
{
|
{
|
||||||
if($align=='R')
|
if($align=='R')
|
||||||
$dx=$w-$this->cMargin-$this->GetStringWidth($txt);
|
$dx=$w-$this->cMargin-$this->GetStringWidth($txt);
|
||||||
@ -707,7 +707,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0)
|
|||||||
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
|
$wmax=($w-2*$this->cMargin)*1000/$this->FontSize;
|
||||||
$s=str_replace("\r",'',$txt);
|
$s=str_replace("\r",'',$txt);
|
||||||
$nb=strlen($s);
|
$nb=strlen($s);
|
||||||
if($nb>0 and $s[$nb-1]=="\n")
|
if($nb>0 && $s[$nb-1]=="\n")
|
||||||
$nb--;
|
$nb--;
|
||||||
$b=0;
|
$b=0;
|
||||||
if($border)
|
if($border)
|
||||||
@ -721,11 +721,11 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$b2='';
|
$b2='';
|
||||||
if(is_int(strpos($border,'L')))
|
if(strpos($border,'L')!==false)
|
||||||
$b2.='L';
|
$b2.='L';
|
||||||
if(is_int(strpos($border,'R')))
|
if(strpos($border,'R')!==false)
|
||||||
$b2.='R';
|
$b2.='R';
|
||||||
$b=is_int(strpos($border,'T')) ? $b2.'T' : $b2;
|
$b=(strpos($border,'T')!==false) ? $b2.'T' : $b2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$sep=-1;
|
$sep=-1;
|
||||||
@ -753,7 +753,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0)
|
|||||||
$l=0;
|
$l=0;
|
||||||
$ns=0;
|
$ns=0;
|
||||||
$nl++;
|
$nl++;
|
||||||
if($border and $nl==2)
|
if($border && $nl==2)
|
||||||
$b=$b2;
|
$b=$b2;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -793,7 +793,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0)
|
|||||||
$l=0;
|
$l=0;
|
||||||
$ns=0;
|
$ns=0;
|
||||||
$nl++;
|
$nl++;
|
||||||
if($border and $nl==2)
|
if($border && $nl==2)
|
||||||
$b=$b2;
|
$b=$b2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -805,7 +805,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0)
|
|||||||
$this->ws=0;
|
$this->ws=0;
|
||||||
$this->_out('0 Tw');
|
$this->_out('0 Tw');
|
||||||
}
|
}
|
||||||
if($border and is_int(strpos($border,'B')))
|
if($border && strpos($border,'B')!==false)
|
||||||
$b.='B';
|
$b.='B';
|
||||||
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
|
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
|
||||||
$this->x=$this->lMargin;
|
$this->x=$this->lMargin;
|
||||||
@ -908,7 +908,7 @@ function Image($file,$x,$y,$w=0,$h=0,$type='',$link='')
|
|||||||
$type=strtolower($type);
|
$type=strtolower($type);
|
||||||
$mqr=get_magic_quotes_runtime();
|
$mqr=get_magic_quotes_runtime();
|
||||||
set_magic_quotes_runtime(0);
|
set_magic_quotes_runtime(0);
|
||||||
if($type=='jpg' or $type=='jpeg')
|
if($type=='jpg' || $type=='jpeg')
|
||||||
$info=$this->_parsejpg($file);
|
$info=$this->_parsejpg($file);
|
||||||
elseif($type=='png')
|
elseif($type=='png')
|
||||||
$info=$this->_parsepng($file);
|
$info=$this->_parsepng($file);
|
||||||
@ -927,7 +927,7 @@ function Image($file,$x,$y,$w=0,$h=0,$type='',$link='')
|
|||||||
else
|
else
|
||||||
$info=$this->images[$file];
|
$info=$this->images[$file];
|
||||||
//Automatic width and height calculation if needed
|
//Automatic width and height calculation if needed
|
||||||
if($w==0 and $h==0)
|
if($w==0 && $h==0)
|
||||||
{
|
{
|
||||||
//Put image at 72 dpi
|
//Put image at 72 dpi
|
||||||
$w=$info['w']/$this->k;
|
$w=$info['w']/$this->k;
|
||||||
@ -993,8 +993,6 @@ function SetXY($x,$y)
|
|||||||
function Output($name='',$dest='')
|
function Output($name='',$dest='')
|
||||||
{
|
{
|
||||||
//Output PDF to some destination
|
//Output PDF to some destination
|
||||||
global $HTTP_SERVER_VARS;
|
|
||||||
|
|
||||||
//Finish document if necessary
|
//Finish document if necessary
|
||||||
if($this->state<3)
|
if($this->state<3)
|
||||||
$this->Close();
|
$this->Close();
|
||||||
@ -1016,27 +1014,31 @@ function Output($name='',$dest='')
|
|||||||
{
|
{
|
||||||
case 'I':
|
case 'I':
|
||||||
//Send to standard output
|
//Send to standard output
|
||||||
if(isset($HTTP_SERVER_VARS['SERVER_NAME']))
|
if(ob_get_contents())
|
||||||
|
$this->Error('Some data has already been output, can\'t send PDF file');
|
||||||
|
if(php_sapi_name()!='cli')
|
||||||
{
|
{
|
||||||
//We send to a browser
|
//We send to a browser
|
||||||
Header('Content-Type: application/pdf');
|
header('Content-Type: application/pdf');
|
||||||
if(headers_sent())
|
if(headers_sent())
|
||||||
$this->Error('Some data has already been output to browser, can\'t send PDF file');
|
$this->Error('Some data has already been output to browser, can\'t send PDF file');
|
||||||
Header('Content-Length: '.strlen($this->buffer));
|
header('Content-Length: '.strlen($this->buffer));
|
||||||
Header('Content-disposition: inline; filename='.$name);
|
header('Content-disposition: inline; filename="'.$name.'"');
|
||||||
}
|
}
|
||||||
echo $this->buffer;
|
echo $this->buffer;
|
||||||
break;
|
break;
|
||||||
case 'D':
|
case 'D':
|
||||||
//Download file
|
//Download file
|
||||||
if(isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']) and strpos($HTTP_SERVER_VARS['HTTP_USER_AGENT'],'MSIE'))
|
if(ob_get_contents())
|
||||||
Header('Content-Type: application/force-download');
|
$this->Error('Some data has already been output, can\'t send PDF file');
|
||||||
|
if(isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'],'MSIE'))
|
||||||
|
header('Content-Type: application/force-download');
|
||||||
else
|
else
|
||||||
Header('Content-Type: application/octet-stream');
|
header('Content-Type: application/octet-stream');
|
||||||
if(headers_sent())
|
if(headers_sent())
|
||||||
$this->Error('Some data has already been output to browser, can\'t send PDF file');
|
$this->Error('Some data has already been output to browser, can\'t send PDF file');
|
||||||
Header('Content-Length: '.strlen($this->buffer));
|
header('Content-Length: '.strlen($this->buffer));
|
||||||
Header('Content-disposition: attachment; filename='.$name);
|
header('Content-disposition: attachment; filename="'.$name.'"');
|
||||||
echo $this->buffer;
|
echo $this->buffer;
|
||||||
break;
|
break;
|
||||||
case 'F':
|
case 'F':
|
||||||
@ -1071,11 +1073,11 @@ function _dochecks()
|
|||||||
setlocale(LC_NUMERIC,'C');
|
setlocale(LC_NUMERIC,'C');
|
||||||
}
|
}
|
||||||
|
|
||||||
function _begindoc()
|
function _getfontpath()
|
||||||
{
|
{
|
||||||
//Start document
|
if(!defined('FPDF_FONTPATH') && is_dir(dirname(__FILE__).'/font'))
|
||||||
$this->state=1;
|
define('FPDF_FONTPATH',dirname(__FILE__).'/font/');
|
||||||
$this->_out('%PDF-1.3');
|
return defined('FPDF_FONTPATH') ? FPDF_FONTPATH : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
function _putpages()
|
function _putpages()
|
||||||
@ -1166,21 +1168,36 @@ function _putfonts()
|
|||||||
//Font file embedding
|
//Font file embedding
|
||||||
$this->_newobj();
|
$this->_newobj();
|
||||||
$this->FontFiles[$file]['n']=$this->n;
|
$this->FontFiles[$file]['n']=$this->n;
|
||||||
if(defined('FPDF_FONTPATH'))
|
$font='';
|
||||||
$file=FPDF_FONTPATH.$file;
|
$f=fopen($this->_getfontpath().$file,'rb',1);
|
||||||
$size=filesize($file);
|
if(!$f)
|
||||||
if(!$size)
|
|
||||||
$this->Error('Font file not found');
|
$this->Error('Font file not found');
|
||||||
$this->_out('<</Length '.$size);
|
while(!feof($f))
|
||||||
if(substr($file,-2)=='.z')
|
$font.=fread($f,8192);
|
||||||
|
fclose($f);
|
||||||
|
$compressed=(substr($file,-2)=='.z');
|
||||||
|
if(!$compressed && isset($info['length2']))
|
||||||
|
{
|
||||||
|
$header=(ord($font{0})==128);
|
||||||
|
if($header)
|
||||||
|
{
|
||||||
|
//Strip first binary header
|
||||||
|
$font=substr($font,6);
|
||||||
|
}
|
||||||
|
if($header && ord($font{$info['length1']})==128)
|
||||||
|
{
|
||||||
|
//Strip second binary header
|
||||||
|
$font=substr($font,0,$info['length1']).substr($font,$info['length1']+6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->_out('<</Length '.strlen($font));
|
||||||
|
if($compressed)
|
||||||
$this->_out('/Filter /FlateDecode');
|
$this->_out('/Filter /FlateDecode');
|
||||||
$this->_out('/Length1 '.$info['length1']);
|
$this->_out('/Length1 '.$info['length1']);
|
||||||
if(isset($info['length2']))
|
if(isset($info['length2']))
|
||||||
$this->_out('/Length2 '.$info['length2'].' /Length3 0');
|
$this->_out('/Length2 '.$info['length2'].' /Length3 0');
|
||||||
$this->_out('>>');
|
$this->_out('>>');
|
||||||
$f=fopen($file,'rb');
|
$this->_putstream($font);
|
||||||
$this->_putstream(fread($f,$size));
|
|
||||||
fclose($f);
|
|
||||||
$this->_out('endobj');
|
$this->_out('endobj');
|
||||||
}
|
}
|
||||||
set_magic_quotes_runtime($mqr);
|
set_magic_quotes_runtime($mqr);
|
||||||
@ -1197,12 +1214,12 @@ function _putfonts()
|
|||||||
$this->_out('<</Type /Font');
|
$this->_out('<</Type /Font');
|
||||||
$this->_out('/BaseFont /'.$name);
|
$this->_out('/BaseFont /'.$name);
|
||||||
$this->_out('/Subtype /Type1');
|
$this->_out('/Subtype /Type1');
|
||||||
if($name!='Symbol' and $name!='ZapfDingbats')
|
if($name!='Symbol' && $name!='ZapfDingbats')
|
||||||
$this->_out('/Encoding /WinAnsiEncoding');
|
$this->_out('/Encoding /WinAnsiEncoding');
|
||||||
$this->_out('>>');
|
$this->_out('>>');
|
||||||
$this->_out('endobj');
|
$this->_out('endobj');
|
||||||
}
|
}
|
||||||
elseif($type=='Type1' or $type=='TrueType')
|
elseif($type=='Type1' || $type=='TrueType')
|
||||||
{
|
{
|
||||||
//Additional Type1 or TrueType font
|
//Additional Type1 or TrueType font
|
||||||
$this->_newobj();
|
$this->_newobj();
|
||||||
@ -1272,10 +1289,11 @@ function _putimages()
|
|||||||
$this->_out('/Decode [1 0 1 0 1 0 1 0]');
|
$this->_out('/Decode [1 0 1 0 1 0 1 0]');
|
||||||
}
|
}
|
||||||
$this->_out('/BitsPerComponent '.$info['bpc']);
|
$this->_out('/BitsPerComponent '.$info['bpc']);
|
||||||
$this->_out('/Filter /'.$info['f']);
|
if(isset($info['f']))
|
||||||
|
$this->_out('/Filter /'.$info['f']);
|
||||||
if(isset($info['parms']))
|
if(isset($info['parms']))
|
||||||
$this->_out($info['parms']);
|
$this->_out($info['parms']);
|
||||||
if(isset($info['trns']) and is_array($info['trns']))
|
if(isset($info['trns']) && is_array($info['trns']))
|
||||||
{
|
{
|
||||||
$trns='';
|
$trns='';
|
||||||
for($i=0;$i<count($info['trns']);$i++)
|
for($i=0;$i<count($info['trns']);$i++)
|
||||||
@ -1298,6 +1316,24 @@ function _putimages()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _putxobjectdict()
|
||||||
|
{
|
||||||
|
foreach($this->images as $image)
|
||||||
|
$this->_out('/I'.$image['i'].' '.$image['n'].' 0 R');
|
||||||
|
}
|
||||||
|
|
||||||
|
function _putresourcedict()
|
||||||
|
{
|
||||||
|
$this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
|
||||||
|
$this->_out('/Font <<');
|
||||||
|
foreach($this->fonts as $font)
|
||||||
|
$this->_out('/F'.$font['i'].' '.$font['n'].' 0 R');
|
||||||
|
$this->_out('>>');
|
||||||
|
$this->_out('/XObject <<');
|
||||||
|
$this->_putxobjectdict();
|
||||||
|
$this->_out('>>');
|
||||||
|
}
|
||||||
|
|
||||||
function _putresources()
|
function _putresources()
|
||||||
{
|
{
|
||||||
$this->_putfonts();
|
$this->_putfonts();
|
||||||
@ -1305,18 +1341,8 @@ function _putresources()
|
|||||||
//Resource dictionary
|
//Resource dictionary
|
||||||
$this->offsets[2]=strlen($this->buffer);
|
$this->offsets[2]=strlen($this->buffer);
|
||||||
$this->_out('2 0 obj');
|
$this->_out('2 0 obj');
|
||||||
$this->_out('<</ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
|
$this->_out('<<');
|
||||||
$this->_out('/Font <<');
|
$this->_putresourcedict();
|
||||||
foreach($this->fonts as $font)
|
|
||||||
$this->_out('/F'.$font['i'].' '.$font['n'].' 0 R');
|
|
||||||
$this->_out('>>');
|
|
||||||
if(count($this->images))
|
|
||||||
{
|
|
||||||
$this->_out('/XObject <<');
|
|
||||||
foreach($this->images as $image)
|
|
||||||
$this->_out('/I'.$image['i'].' '.$image['n'].' 0 R');
|
|
||||||
$this->_out('>>');
|
|
||||||
}
|
|
||||||
$this->_out('>>');
|
$this->_out('>>');
|
||||||
$this->_out('endobj');
|
$this->_out('endobj');
|
||||||
}
|
}
|
||||||
@ -1357,6 +1383,11 @@ function _putcatalog()
|
|||||||
$this->_out('/PageLayout /TwoColumnLeft');
|
$this->_out('/PageLayout /TwoColumnLeft');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _putheader()
|
||||||
|
{
|
||||||
|
$this->_out('%PDF-'.$this->PDFVersion);
|
||||||
|
}
|
||||||
|
|
||||||
function _puttrailer()
|
function _puttrailer()
|
||||||
{
|
{
|
||||||
$this->_out('/Size '.($this->n+1));
|
$this->_out('/Size '.($this->n+1));
|
||||||
@ -1366,6 +1397,7 @@ function _puttrailer()
|
|||||||
|
|
||||||
function _enddoc()
|
function _enddoc()
|
||||||
{
|
{
|
||||||
|
$this->_putheader();
|
||||||
$this->_putpages();
|
$this->_putpages();
|
||||||
$this->_putresources();
|
$this->_putresources();
|
||||||
//Info
|
//Info
|
||||||
@ -1468,7 +1500,7 @@ function _parsejpg($file)
|
|||||||
$this->Error('Missing or incorrect image file: '.$file);
|
$this->Error('Missing or incorrect image file: '.$file);
|
||||||
if($a[2]!=2)
|
if($a[2]!=2)
|
||||||
$this->Error('Not a JPEG file: '.$file);
|
$this->Error('Not a JPEG file: '.$file);
|
||||||
if(!isset($a['channels']) or $a['channels']==3)
|
if(!isset($a['channels']) || $a['channels']==3)
|
||||||
$colspace='DeviceRGB';
|
$colspace='DeviceRGB';
|
||||||
elseif($a['channels']==4)
|
elseif($a['channels']==4)
|
||||||
$colspace='DeviceCMYK';
|
$colspace='DeviceCMYK';
|
||||||
@ -1544,7 +1576,7 @@ function _parsepng($file)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$pos=strpos($t,chr(0));
|
$pos=strpos($t,chr(0));
|
||||||
if(is_int($pos))
|
if($pos!==false)
|
||||||
$trns=array($pos);
|
$trns=array($pos);
|
||||||
}
|
}
|
||||||
fread($f,4);
|
fread($f,4);
|
||||||
@ -1561,7 +1593,7 @@ function _parsepng($file)
|
|||||||
fread($f,$n+4);
|
fread($f,$n+4);
|
||||||
}
|
}
|
||||||
while($n);
|
while($n);
|
||||||
if($colspace=='Indexed' and empty($pal))
|
if($colspace=='Indexed' && empty($pal))
|
||||||
$this->Error('Missing palette in '.$file);
|
$this->Error('Missing palette in '.$file);
|
||||||
fclose($f);
|
fclose($f);
|
||||||
return array('w'=>$w,'h'=>$h,'cs'=>$colspace,'bpc'=>$bpc,'f'=>'FlateDecode','parms'=>$parms,'pal'=>$pal,'trns'=>$trns,'data'=>$data);
|
return array('w'=>$w,'h'=>$h,'cs'=>$colspace,'bpc'=>$bpc,'f'=>'FlateDecode','parms'=>$parms,'pal'=>$pal,'trns'=>$trns,'data'=>$data);
|
||||||
@ -1570,11 +1602,8 @@ function _parsepng($file)
|
|||||||
function _freadint($f)
|
function _freadint($f)
|
||||||
{
|
{
|
||||||
//Read a 4-byte integer from file
|
//Read a 4-byte integer from file
|
||||||
$i=ord(fread($f,1))<<24;
|
$a=unpack('Ni',fread($f,4));
|
||||||
$i+=ord(fread($f,1))<<16;
|
return $a['i'];
|
||||||
$i+=ord(fread($f,1))<<8;
|
|
||||||
$i+=ord(fread($f,1));
|
|
||||||
return $i;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function _textstring($s)
|
function _textstring($s)
|
||||||
@ -1596,41 +1625,6 @@ function _putstream($s)
|
|||||||
$this->_out('endstream');
|
$this->_out('endstream');
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* http://www.fpdf.org/en/script/script20.php
|
|
||||||
* Xavier Nicolay
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
function Rotate($angle,$x=-1,$y=-1)
|
|
||||||
{
|
|
||||||
if($x==-1)
|
|
||||||
$x=$this->x;
|
|
||||||
if($y==-1)
|
|
||||||
$y=$this->y;
|
|
||||||
if($this->angle!=0)
|
|
||||||
$this->_out('Q');
|
|
||||||
$this->angle=$angle;
|
|
||||||
if($angle!=0)
|
|
||||||
{
|
|
||||||
$angle*=M_PI/180;
|
|
||||||
$c=cos($angle);
|
|
||||||
$s=sin($angle);
|
|
||||||
$cx=$x*$this->k;
|
|
||||||
$cy=($this->h-$y)*$this->k;
|
|
||||||
$this->_out(sprintf('q %.5f %.5f %.5f %.5f %.2f %.2f cm 1 0 0 1 %.2f %.2f cm',$c,$s,-$s,$c,$cx,$cy,-$cx,-$cy));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function Copyright($texte)
|
|
||||||
{
|
|
||||||
$this->SetFont('Arial','B',36);
|
|
||||||
$this->SetTextColor(243,243,243);
|
|
||||||
$this->Rotate(55,30,250);
|
|
||||||
$this->Text(30,250,$texte);
|
|
||||||
$this->Rotate(0);
|
|
||||||
$this->SetTextColor(0,0,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _out($s)
|
function _out($s)
|
||||||
{
|
{
|
||||||
//Add a line to the document
|
//Add a line to the document
|
||||||
@ -1643,9 +1637,9 @@ function _out($s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Handle special IE contype request
|
//Handle special IE contype request
|
||||||
if(isset($HTTP_SERVER_VARS['HTTP_USER_AGENT']) and $HTTP_SERVER_VARS['HTTP_USER_AGENT']=='contype')
|
if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype')
|
||||||
{
|
{
|
||||||
Header('Content-Type: application/pdf');
|
header('Content-Type: application/pdf');
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
111
htdocs/includes/fpdf/fpdf/histo.htm
Normal file
111
htdocs/includes/fpdf/fpdf/histo.htm
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
<HTML>
|
||||||
|
<HEAD>
|
||||||
|
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
|
||||||
|
<TITLE>Historique</TITLE>
|
||||||
|
<LINK TYPE="text/css" REL="stylesheet" HREF="fpdf.css">
|
||||||
|
</HEAD>
|
||||||
|
<BODY>
|
||||||
|
<H2>Historique</H2>
|
||||||
|
<B>v1.53</B> (31/12/2004)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Lorsque le sous-répertoire font se trouve dans le même répertoire que fpdf.php, il n'est maintenant plus nécessaire de définir la constante FPDF_FONTPATH.<BR>
|
||||||
|
- Le tableau $HTTP_SERVER_VARS n'est plus utilisé. Cela pouvait poser des problèmes avec les configurations PHP 5 ayant désactivé l'option register_long_arrays.<BR>
|
||||||
|
- L'incorporation des polices Type1 posait des problèmes avec certains processeurs de PDF.<BR>
|
||||||
|
- Le nom du PDF envoyé au navigateur ne pouvait pas comporter d'espace.<BR>
|
||||||
|
- La méthode Cell() ne pouvait pas imprimer le nombre 0 (seulement la chaîne '0').<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.52</B> (30/12/2003)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Image() affiche maintenant l'image en 72 dpi si aucune dimension n'est indiquée.<BR>
|
||||||
|
- Output() prend un second paramètre chaîne pour indiquer la destination.<BR>
|
||||||
|
- Open() est maintenant appelé automatiquement par AddPage().<BR>
|
||||||
|
- L'insertion d'image JPEG distante ne génère plus d'erreur.<BR>
|
||||||
|
- Le séparateur décimal est forcé au point dans le constructeur.<BR>
|
||||||
|
- Ajout de différents encodages (turc, thaïlandais, hébreu, ukrainien et vietnamien).<BR>
|
||||||
|
- La dernière ligne d'un MultiCell() cadré à droite n'était pas bien alignée si elle se terminait par un retour-chariot.<BR>
|
||||||
|
- Plus de message d'erreur sur les en-têtes déjà envoyés lorsque le PDF est généré sur la sortie standard en mode ligne de commande.<BR>
|
||||||
|
- Le souligné allait trop loin lorsque le texte comportait les caractères \, ( ou ).<BR>
|
||||||
|
- $HTTP_ENV_VARS a été remplacé par $HTTP_SERVER_VARS.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.51</B> (03/08/2002)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Support des polices Type1.<BR>
|
||||||
|
- Ajout des encodages pour les pays baltes.<BR>
|
||||||
|
- La classe travaille maintenant en interne en points avec l'origine en bas afin d'éviter deux bugs avec Acrobat 5 :<BR> * L'épaisseur des traits était trop importante lors des impressions sous Windows 98 SE et ME.<BR> * Les polices TrueType n'apparaissaient pas immédiatement dans le plug-in (une police de substitution était utilisée), il fallait provoquer un rafraîchissement de la fenêtre pour les voir apparaître.<BR>
|
||||||
|
- La zone cliquable dans une cellule était toujours positionnée à gauche indépendamment de l'alignement du texte.<BR>
|
||||||
|
- Les images JPEG en mode CMYK apparaissaient en couleurs inversées.<BR>
|
||||||
|
- Les images PNG transparentes en niveaux de gris ou couleurs vraies étaient incorrectement traitées.<BR>
|
||||||
|
- L'ajout de nouvelles polices fonctionne maintenant correctement même avec l'option magic_quotes_runtime à on.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.5</B> (28/05/2002)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Support des polices TrueType (AddFont()) et des encodages (Europe de l'Ouest, de l'Est, cyrillique et grec).<BR>
|
||||||
|
- Ajout de la méthode Write().<BR>
|
||||||
|
- Ajout du style souligné.<BR>
|
||||||
|
- Support des liens internes et externes (AddLink(), SetLink(), Link()).<BR>
|
||||||
|
- Gestion de la marge droite et ajout des méthodes SetRightMargin() et SetTopMargin().<BR>
|
||||||
|
- Modification de SetDisplayMode() pour sélectionner un affichage continu ou en colonnes.<BR>
|
||||||
|
- Le paramètre border de MultiCell() permet de choisir les bords à tracer comme Cell().<BR>
|
||||||
|
- Lorsqu'un document ne contient aucune page, Close() appelle maintenant AddPage() au lieu de provoquer une erreur fatale.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.41</B> (13/03/2002)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Correction de SetDisplayMode() qui ne fonctionnait plus (le visualiseur PDF utilisait l'affichage par défaut).<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.4</B> (02/03/2002)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- PHP3 n'est plus supporté.<BR>
|
||||||
|
- Compression des pages (SetCompression()).<BR>
|
||||||
|
- Choix du format des pages et possibilité de changer l'orientation en cours de document.<BR>
|
||||||
|
- Ajout de la méthode AcceptPageBreak().<BR>
|
||||||
|
- Ajout de la méthode SetLeftMargin().<BR>
|
||||||
|
- Possibilité d'imprimer le nombre total de pages (AliasNbPages()).<BR>
|
||||||
|
- Choix des bords des cellules à tracer.<BR>
|
||||||
|
- Nouveau mode pour la méthode Cell() : la position courante se déplace sous la cellule.<BR>
|
||||||
|
- Possibilité d'inclure une image en n'indiquant que la hauteur (la largeur est déterminée automatiquement).<BR>
|
||||||
|
- Correction d'un bug : lorsqu'une ligne justifiée provoquait un saut de page, le pied de page héritait de l'espacement inter-mot correspondant.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.31</B> (12/01/2002)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Correction d'un bug dans le tracé du cadre avec MultiCell() : la dernière ligne partait toujours de la marge gauche.<BR>
|
||||||
|
- Suppression de l'en-tête HTTP Expires (pose des problèmes dans certains cas).<BR>
|
||||||
|
- Ajout de l'en-tête HTTP Content-disposition (semble aider dans certains cas).<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.3</B> (03/12/2001)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Gestion des sauts de ligne avec justification du texte (MultiCell()).<BR>
|
||||||
|
- Ajout du support de la couleur (SetDrawColor(), SetFillColor(), SetTextColor()). Possibilité de dessiner des rectangles pleins et de colorer le fond des cellules.<BR>
|
||||||
|
- Une cellule dont la largeur est déclarée nulle s'étend jusqu'à la marge droite de la page.<BR>
|
||||||
|
- L'épaisseur des traits est maintenant conservée de page en page et vaut 0,2 mm par défaut.<BR>
|
||||||
|
- Ajout de la méthode SetXY().<BR>
|
||||||
|
- Correction d'un passage par référence effectué d'une manière obsolète en PHP4.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.2</B> (11/11/2001)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Ajout des fichiers de métrique des polices et de la méthode GetStringWidth().<BR>
|
||||||
|
- Possibilité de centrer et d'aligner à droite le texte dans les cellules.<BR>
|
||||||
|
- Réglage du mode d'affichage (SetDisplayMode()).<BR>
|
||||||
|
- Ajout des méthodes de propriété du document (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).<BR>
|
||||||
|
- Possibilité de forcer le téléchargement du PDF.<BR>
|
||||||
|
- Ajout des méthodes SetX() et GetX().<BR>
|
||||||
|
- Lors du saut de page automatique, l'abscisse courante est maintenant conservée.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.11</B> (20/10/2001)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- L'utilisation des PNG ne nécessite plus PHP4 et l'extension Zlib. Les données sont intégrées directement dans le document PDF sans étape de décompression/recompression.<BR>
|
||||||
|
- L'insertion d'image fonctionne maintenant correctement même avec l'option magic_quotes_runtime à on.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.1</B> (07/10/2001)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Support des images JPEG et PNG.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.01</B> (03/10/2001)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Correction d'un bug lors du saut de page : dans le cas où la méthode Header() ne spécifiait pas de police, celle de la page précédente n'était pas restaurée et produisait un document incorrect.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
<B>v1.0</B> (17/09/2001)
|
||||||
|
<BLOCKQUOTE>
|
||||||
|
- Première version.<BR>
|
||||||
|
</BLOCKQUOTE>
|
||||||
|
</BODY>
|
||||||
|
</HTML>
|
||||||
26
htdocs/includes/fpdf/fpdf/install.txt
Normal file
26
htdocs/includes/fpdf/fpdf/install.txt
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
FPDF est constitué des éléments suivants :
|
||||||
|
|
||||||
|
- le fichier principal fpdf.php contenant la classe
|
||||||
|
- les fichiers de métrique des polices (contenus dans le répertoire font de cette archive)
|
||||||
|
|
||||||
|
Les fichiers de métrique sont indispensables dès que l'on veut écrire du texte dans un document.
|
||||||
|
Ils peuvent se trouver en trois endroits différents :
|
||||||
|
|
||||||
|
- dans le répertoire défini par la constante FPDF_FONTPATH (si cette constante est définie)
|
||||||
|
- dans le répertoire font s'il se trouve au même niveau que fpdf.php (comme c'est le cas dans cette archive)
|
||||||
|
- dans un des répertoires accessibles par include()
|
||||||
|
|
||||||
|
Voici un exemple de définition de FPDF_FONTPATH (notez le slash final obligatoire) :
|
||||||
|
|
||||||
|
define('FPDF_FONTPATH','/home/www/font/');
|
||||||
|
require('fpdf.php');
|
||||||
|
|
||||||
|
Si ces fichiers ne sont pas accessibles, la méthode SetFont() produira l'erreur suivante :
|
||||||
|
|
||||||
|
FPDF error: Could not include font metric file
|
||||||
|
|
||||||
|
|
||||||
|
Remarques :
|
||||||
|
|
||||||
|
- Seuls les fichiers correspondant aux polices effectivement utilisées sont nécessaires
|
||||||
|
- Les tutoriels fournis dans l'archive sont prêts à être exécutés
|
||||||
@ -1,7 +0,0 @@
|
|||||||
<?php
|
|
||||||
for($i=0;$i<=255;$i++)
|
|
||||||
$fpdf_charwidths['courier'][chr($i)]=600;
|
|
||||||
$fpdf_charwidths['courierB']=$fpdf_charwidths['courier'];
|
|
||||||
$fpdf_charwidths['courierI']=$fpdf_charwidths['courier'];
|
|
||||||
$fpdf_charwidths['courierBI']=$fpdf_charwidths['courier'];
|
|
||||||
?>
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['helvetica']=array(
|
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
|
||||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
|
||||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
|
||||||
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
|
||||||
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
|
||||||
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
|
||||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
|
||||||
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
|
||||||
?>
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['helveticaI']=array(
|
|
||||||
chr(0)=>278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278,
|
|
||||||
chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584,
|
|
||||||
','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667,
|
|
||||||
'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944,
|
|
||||||
'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833,
|
|
||||||
'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556,
|
|
||||||
chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
|
||||||
chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
|
||||||
chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556,
|
|
||||||
chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500);
|
|
||||||
?>
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['times']=array(
|
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564,
|
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722,
|
|
||||||
'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944,
|
|
||||||
'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
|
||||||
'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
|
||||||
chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980,
|
|
||||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722,
|
|
||||||
chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500,
|
|
||||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500);
|
|
||||||
?>
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
$fpdf_charwidths['timesBI']=array(
|
|
||||||
chr(0)=>250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250,
|
|
||||||
chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570,
|
|
||||||
','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667,
|
|
||||||
'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889,
|
|
||||||
'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778,
|
|
||||||
'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500,
|
|
||||||
chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000,
|
|
||||||
chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333,
|
|
||||||
chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667,
|
|
||||||
chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722,
|
|
||||||
chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556,
|
|
||||||
chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444);
|
|
||||||
?>
|
|
||||||
Loading…
Reference in New Issue
Block a user