RipmaV
Mitglied
Hallo zusammen,
folgendes Poblem habe:
Ich will mit der Schriftart Century Gothic in mein PDF schreiben.
Nun hab ich aus der Regular und die Bold die benötigten Dateien generiert und diese sind im font-Ordner.
regular:
gothic.php
gothic.z
bold:
gothicb.php
gothicb.z
in meiner Datei lade ich die entsprechend mit:
$pdf->AddFont('CenturyGothic','','gothic.php');
$pdf->AddFont('CenturyGothic','B','gothicb.php');
Ich habe mehrere dynamisch geladene HTML Seiten die hier entsprechend in ein PDF konvertiert werden. Und bei 3 von 4 geht das ohne Probleme, nur beim 4. wirft er mir den Fehler:
FPDF error: Undefined font: centurygothic-bold
Dabei habe ich nirgendwo "centurygothic-bold" definiert im Script und bei den anderen HTML Seiten macht er ja auch das Bold was Bold sein soll.
Ich wäre dankbar für Lösungsvorschläge, hier nochmal das gesamte Script:
folgendes Poblem habe:
Ich will mit der Schriftart Century Gothic in mein PDF schreiben.
Nun hab ich aus der Regular und die Bold die benötigten Dateien generiert und diese sind im font-Ordner.
regular:
gothic.php
gothic.z
bold:
gothicb.php
gothicb.z
in meiner Datei lade ich die entsprechend mit:
$pdf->AddFont('CenturyGothic','','gothic.php');
$pdf->AddFont('CenturyGothic','B','gothicb.php');
Ich habe mehrere dynamisch geladene HTML Seiten die hier entsprechend in ein PDF konvertiert werden. Und bei 3 von 4 geht das ohne Probleme, nur beim 4. wirft er mir den Fehler:
FPDF error: Undefined font: centurygothic-bold
Dabei habe ich nirgendwo "centurygothic-bold" definiert im Script und bei den anderen HTML Seiten macht er ja auch das Bold was Bold sein soll.
Ich wäre dankbar für Lösungsvorschläge, hier nochmal das gesamte Script:
PHP:
<?php
class PDF extends FPDF
{
var $B=0;
var $I=0;
var $U=0;
var $H2=0;
var $HREF='';
var $ALIGN='';
var $debug=array();
var $dz=0;
function WriteHTML($html)
{
//HTML parser
$html=str_replace("\n",' ',$html);
$a=preg_split('/<(.*)>/U',$html,-1,PREG_SPLIT_DELIM_CAPTURE);
foreach($a as $i=>$e)
{
if($i%2==0)
{
$this->SetLeftMargin(140);
//Text
if($this->HREF)
$this->PutLink($this->HREF,$e);
elseif($this->ALIGN=='center')
$this->Cell(0,0.1,$e,0,1,'C');
else
$this->Write(5,$e);
}
else
{
//Tag
if($e[0]=='/')
$this->CloseTag(strtoupper(substr($e,1)));
else
{
//Extract properties
$a2=explode(' ',$e);
$tag=strtoupper(array_shift($a2));
$prop=array();
foreach($a2 as $v)
{
if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3))
$prop[strtoupper($a3[1])]=$a3[2];
}
$this->OpenTag($tag,$prop);
}
}
}
}
function OpenTag($tag,$prop)
{
if($tag=='H2'){
$this->SetFont('CenturyGothic-Bold', '', 12);
}
else{
$this->SetFont('CenturyGothic', '', 8);
}
//Opening tag
if($tag=='B' || $tag=='I' || $tag=='U')
$this->SetStyle($tag,true);
if($tag=='A')
$this->HREF=$prop['HREF'];
if($tag=='BR')
$this->Ln(2);
if($tag=='P')
$this->ALIGN=$prop['ALIGN'];
if($tag=='HR'){
if( !empty($prop['WIDTH']) )
$Width = $prop['WIDTH'];
else
$Width = $this->w - $this->lMargin-$this->rMargin;
$this->Ln(2);
$x = $this->GetX();
$y = $this->GetY();
$this->SetLineWidth(0.4);
$this->Line($x,$y,$x+$Width,$y);
$this->SetLineWidth(0.2);
$this->Ln(1.8);
}
}
function CloseTag($tag)
{
//Closing tag
if($tag=='B' || $tag=='I' || $tag=='U')
$this->SetStyle($tag,false);
if($tag=='A')
$this->HREF='';
if($tag=='P')
$this->ALIGN='';
}
function SetStyle($tag,$enable)
{
//Modify style and select corresponding font
$this->$tag+=($enable ? 1 : -1);
$style='';
foreach(array('B','I','U') as $s)
if($this->$s>0)
$style.=$s;
$this->SetFont('',$style);
}
function PutLink($URL,$txt)
{
//Put a hyperlink
$this->SetTextColor(125,41,28);
$this->SetStyle('U',true);
$width = $this->GetStringWidth($txt);
$x = 129+((84-$width)/2);
$y = 115;
$this->SetXY($x,$y);
$this->debug[$this->dz]['var_x'] = $x;
$this->debug[$this->dz]['x'] = $this->GetX();
$this->debug[$this->dz]['var_y'] = $y;
$this->debug[$this->dz]['y'] = $this->GetY();
$this->dz++;
$this->Write(5,$txt,$URL);
$this->SetStyle('U',false);
$this->SetTextColor(0);
}
function Footer()
{
$lhf_footer = 'xxxxxxx | xxxxxxx | xxxxxxx | Telefon xxxxxxx | info@xxxxxxx.de';
$this->SetXY(42, 103);
$this->SetTextColor(0, 0, 0);
$this->SetFont('CenturyGothic','',6);
$this->Cell(0,'',$lhf_footer,0);
}
}
?>
<?php
//Instanciation of inherited class
$pdf=new PDF('L','mm','dindl');
$pdf->SetAutoPageBreak(false);
$pdf->AddFont('CenturyGothic','','gothic.php');
$pdf->AddFont('CenturyGothic','B','gothicb.php');
/* SEITE 1 */
if($item['e1link']!=""){
$pdf->AddPage();
$pdf->SetDisplayMode(fullpage);
$pdf->SetFillColor(255,255,255);
$pdf->Rect(0,0,210,2.5,F);
#$pdf->Rect(0,197,210,20.5,F);
$pdf->Image('../graphic/logo.gif',3.1,0.5,0,16.3);
/* Header */
$pdf->SetFillColor(181, 21, 42);
$pdf->SetTextColor(255, 255, 255);
$pdf->SetFont('CenturyGothic','B',9);
//$pdf->Cell(237.2,31.3, $item['e1link'], 0, 2, 'L', 1);
$pdf->Rect(32.4,3.5,173.9,10.7,F);
$pdf->SetXY(40.5,11.5);
$pdf->Cell(0,'',strtoupper($item['e1link']),0);
/* Sidebar */
$pdf->SetXY(2.1,16.6);
$pdf->SetFillColor(181, 21, 42);
$pdf->SetTextColor(255, 255, 255);
$pdf->SetFont('CenturyGothic','',8);
$pdf->Cell(27.8,84.2, '', 0, 2, 'L', 1);
/* Images */
$pdf->Image('../'.$item['e1image1'], 33.0,16.7,45.0,45.0);
$pdf->Image('../'.$item['e1image2'], 79.8,16.7,45.0,45.0);
$pdf->Image('../'.$item['e1image3'], 33.0,63.8,91.72,37.0);
/* Text Field */
$pdf->SetXY(140,18.0);
$pdf->SetFillColor(200, 200, 200);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetFont('CenturyGothic','',8);
$pdf->SetX(140);
$pdf->WriteHTML('<p align="center">'.nl2br(($item['e1text'])).'</p>');
}
/* SEITE 2 */
if($item['e2link']!=""){
$pdf->AddPage();
$pdf->SetFillColor(255,255,255);
$pdf->Rect(0,0,210,2.5,F);
#$pdf->Rect(0,197,210,20.5,F);
$pdf->Image('../graphic/logo.gif',3.1,0.5,0,16.3);
/* Header */
$pdf->SetFillColor(181, 21, 42);
$pdf->SetTextColor(255, 255, 255);
$pdf->SetFont('CenturyGothic','B',9);
//$pdf->Cell(237.2,31.3, $item['e1link'], 0, 2, 'L', 1);
$pdf->Rect(32.4,3.5,173.9,10.7,F);
$pdf->SetXY(32.5,11.5);
$pdf->Cell(0,'',strtoupper($item['e2link']),0);
/* Sidebar */
$pdf->SetXY(2.1,16.6);
$pdf->SetFillColor(181, 21, 42);
$pdf->SetTextColor(255, 255, 255);
$pdf->SetFont('CenturyGothic','',8);
$pdf->Cell(27.8,84.2, '', 0, 2, 'L', 1);
/* Images */
$pdf->Image('../'.$item['e2image1'], 33.0,16.7,45.0,45.0);
$pdf->Image('../'.$item['e2image2'], 79.8,16.7,45.0,45.0);
$pdf->Image('../'.$item['e2image3'], 33.0,63.8,91.72,37.0);
/* Text Field */
$pdf->SetXY(140,18.0);
$pdf->SetFillColor(200, 200, 200);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetFont('CenturyGothic','',8);
$pdf->SetX(140);
$pdf->WriteHTML('<p align="center">'.nl2br(($item['e2text'])).'</p>');
}
/* SEITE 3 */
if($item['e3link']!=""){
$pdf->AddPage();
$pdf->SetFillColor(255,255,255);
$pdf->Rect(0,0,210,2.5,F);
#$pdf->Rect(0,197,210,20.5,F);
$pdf->Image('../graphic/logo.gif',3.1,0.5,0,16.3);
/* Header */
$pdf->SetFillColor(181, 21, 42);
$pdf->SetTextColor(255, 255, 255);
$pdf->SetFont('CenturyGothic','B',9);
//$pdf->Cell(237.2,31.3, $item['e1link'], 0, 2, 'L', 1);
$pdf->Rect(32.4,3.5,173.9,10.7,F);
$pdf->SetXY(32.5,11.5);
$pdf->Cell(0,'',strtoupper($item['e3link']),0);
/* Sidebar */
$pdf->SetXY(2.1,16.6);
$pdf->SetFillColor(181, 21, 42);
$pdf->SetTextColor(255, 255, 255);
$pdf->SetFont('CenturyGothic','',8);
$pdf->Cell(27.8,84.2, '', 0, 2, 'L', 1);
/* Images */
$pdf->Image('../'.$item['e3image1'], 33.0,16.7,45.0,45.0);
$pdf->Image('../'.$item['e3image2'], 79.8,16.7,45.0,45.0);
$pdf->Image('../'.$item['e3image3'], 33.0,63.8,91.72,37.0);
/* Text Field */
$pdf->SetXY(140,18.0);
$pdf->SetFillColor(200, 200, 200);
$pdf->SetTextColor(0, 0, 0);
$pdf->SetFont('CenturyGothic','',8);
$pdf->SetX(140);
$pdf->WriteHTML('<p align="center">'.nl2br(($item['e3text'])).'</p>');
}
/* Ausgabe */
$pdf->Output("../pdf/".$item['alias'].".pdf");
?>