| Server IP : 20.75.53.88 / Your IP : 216.73.217.72 [ Web Server : Apache System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29+esm15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Domains : 3 Domains MySQL : ON | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/merenda/ajuste/fpdf/tutorial/ |
Upload File : |
<?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 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);
}
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 CloseTag($tag)
{
//Closing tag
if ($tag=='B' || $tag=='I' || $tag=='U')
$this->SetStyle($tag, false);
if ($tag=='A')
$this->HREF = '';
}
function OpenTag($tag, $attr)
{
//Opening tag
if ($tag=='B' || $tag=='I' || $tag=='U')
$this->SetStyle($tag, true);
if ($tag=='A')
$this->HREF = $attr['HREF'];
if ($tag=='BR')
$this->Ln(5);
}
}
$html
= 'You can now easily print text mixing different styles: <b>bold</b>, <i>italic</i>,
<u>underlined</u>, or <b><i><u>all at once</u></i></b>!<br><br>You can also insert links on
text, such as <a href="http://www.fpdf.org">www.fpdf.org</a>, or on an image: click on the logo.';
$pdf = new PDF();
//First page
$pdf->AddPage();
$pdf->SetFont('Arial', '', 20);
$pdf->Write(5, 'To find out what\'s new in this tutorial, click ');
$pdf->SetFont('', 'U');
$link = $pdf->AddLink();
$pdf->Write(5, 'here', $link);
$pdf->SetFont('');
//Second page
$pdf->AddPage();
$pdf->SetLink($link);
$pdf->Image('logo.png', 10, 12, 30, 0, '', 'http://www.fpdf.org');
$pdf->SetLeftMargin(45);
$pdf->SetFontSize(14);
$pdf->WriteHTML($html);
$pdf->Output();
?>