How to usd PHP & PDF - Link and Flowing Text Learn PHP how to using PHP and PDF file (Link and Flowing Text)
ShotDev Focus:
- PHP & PDF (Link and Flowing Text)
Example
php_pdf_link.php
<html> <head> <title>ShotDev.Com Tutorial</title> </head> <body> <?php require('fpdf.php'); class PDF extends FPDF { var $B; var $I; var $U; var $HREF; function PDF($orientation='P',$unit='mm',$format='A4') { //Call parent constructor $this->FPDF($orientation,$unit,$format); //Initialization $this->B=0; $this->I=0; $this->U=0; $this->HREF=''; } 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) { //Text if($this->HREF) $this->PutLink($this->HREF,$e); else $this->Write(5,$e); } else { //Tag if($e{0}=='/') $this->CloseTag(strtoupper(substr($e,1))); else { //Extract attributes $a2=explode(' ',$e); $tag=strtoupper(array_shift($a2)); $attr=array(); foreach($a2 as $v) { if(preg_match('/([^=]*)=["\']?([^"\']*)/',$v,$a3)) $attr[strtoupper($a3[1])]=$a3[2]; } $this->OpenTag($tag,$attr); } } } } function OpenTag($tag,$attr) { //Opening tag if($tag=='B' or $tag=='I' or $tag=='U') $this->SetStyle($tag,true); if($tag=='A') $this->HREF=$attr['HREF']; if($tag=='BR') $this->Ln(5); } function CloseTag($tag) { //Closing tag if($tag=='B' or $tag=='I' or $tag=='U') $this->SetStyle($tag,false); if($tag=='A') $this->HREF=''; } 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(0,0,255); $this->SetStyle('U',true); $this->Write(5,$txt,$URL); $this->SetStyle('U',false); $this->SetTextColor(0); } } $html="My Text <b>My Text</b> My Text <u>My Text</u> My Text <i>My Text</i> My Text My Text <a href='http://www.shotdev.com'>www.ShotDev.Com</a>"; $pdf=new PDF(); //First page $pdf->AddPage(); $pdf->SetFont('Arial','',15); $pdf->Write(5,'Text Text Text Text Text Text '); $pdf->SetFont('','U'); $link=$pdf->AddLink(); $pdf->Write(5,'Click Here',$link); $pdf->SetFont(''); //Second page $pdf->AddPage(); $pdf->SetLink($link); $pdf->Image('logo.gif',10,12,30,0,'','http://www.shotdev.com'); $pdf->SetLeftMargin(45); $pdf->SetFontSize(14); $pdf->WriteHTML($html); $pdf->Output("shotdev/mypdf.pdf","F"); ?> PDF Created Click <a href="shotdev/mypdf.pdf">here</a> to Download </body> </html>
Create a php file and save to path root-path/myphp/
Run
http://localhost/myphp/php_pdf_link.php
Screenshot