Tryag File Manager
Home
-
Turbo Force
Current Path :
/
home
/
cluster1
/
data
/
bu01
/
1121861
/
html
/
Books-on-demand
/
latest
/
Upload File :
New :
File
Dir
//home/cluster1/data/bu01/1121861/html/Books-on-demand/latest/pdf.php
<?php require ('fpdf/fpdf.php'); // $title = $_POST[title]; $pairs = $_POST[pairs]; $pairArray = explode('/', $pairs); 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 (ereg('^([^=]*)=["\']?([^"\']*)["\']?$', $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); } //Page header function Header() { global $title; //Arial bold 15 $this->SetFont('Arial', 'B', 15); //Move to the right $this->Cell(80); //Title $this->Cell(30, 10, $title, 1, 0, 'C'); //Line break $this->Ln(20); } //Page footer function Footer() { //Position at 1.5 cm from bottom $this->SetY(-15); //Arial italic 8 $this->SetFont('Arial', 'I', 8); //Page number $this->Cell(0, 10, 'Page '.$this->PageNo().' of {nb}', 0, 0, 'C'); } } function openURL($url) { // Fake the browser type ini_set('user_agent','MSIE 4\.0b2;'); $dh = fopen($url,'r'); $result = fread($dh,8192); return $result; } $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>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.'; $rest = 'test.html'; $file = fopen($rest,"r"); while (!feof($file)) { $line = fgets($file, 1024); /* This only works if the title and its tags are on one line */ if (eregi("<title>(.*)</title>", $line, $out)) { $htmlTitle = $out[1]; break; } } $pdf = new PDF(); //First page $pdf->AddPage(); $pdf->SetFont('Times', '', 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,10,30,0,'','http://www.fpdf.org'); $pdf->SetLeftMargin(45); $pdf->SetFontSize(14); $pdf->Cell(0, 10, $htmlTitle, 0, 1, ''); $pdf->WriteHTML($html); // Hmmmm foreach ($pairArray as $value) { $pair = explode(',', $value); $pdf->Cell(0, 10, $value, 0, 1, ''); $pdf->Cell(0, 20, $pair, 0, 1, ''); $pdf->Cell(0, 20, $pair[0].' --> '.$pair[1], 0, 1, ''); // Query shenanigans $query = 'http://hyperlex2.ldc.upenn.edu/nahuatl/search_results.php4?user_lang=english&condition=word_search&word='.$pair[1]; $queryTitle = openURL($query); $pdf->Cell(0, 10, $queryTitle, 0, 1, ''); } $pdf->Output(); ?>