Начало Новини Маркет Проекти Форум ИТ Работа Уроци Скриптове WiFi точки Още Вход


Създаване на Dynamic PDF файл с помощта на HTML и PHP

От Mutatos / 15.08.2011 12:15
Размер на шрифта: A | A | A

Понякога възниква  нужда за преобразуване на съдържание от един файлов формат в друг. Може да се наложи да обърнете текст в HTML или може да се наложи да конвертирате  HTML формат в изображение. Основната причина за необходимостта да конвертирате от един файлов формат в друг е , защото съдържанието трябва да бъде показано най–подходящо. Насочено към електронната поща, принтиране върху хартия или  уеб браузър. В текстов формат е най-подходящ за изпращане на имейли, както и  за получаване на имейл , тъи като е по–малка вероятноста съдържанието да бъде  повредено в сравнение с HTML форматирани имейли.

Сега, ще научем, как да преобразуваме HTML 2 PDF при използването на PHP. Тази статия няма да обясни логиката за това как да конвертирате PDF файл в HTML файл. Това ще бъде отделна тема и тя не е включена в тази статия. Но ние ще  използваме някои безплатни с отворен код PHP скриптове, за да постигнем това преобразуване на файла.

FPDF: The PDF Generator


Първата и основната база за този файл преобразуване FPDF.  FPDF е чист клас PHP за генериране на PDF файлове в движение. Нека започнем с PDF поколение с един прост Hello world display.

CODE
1
2
3
4
5
6
7
8
9
<?php
require('fpdf.php');

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

За да създадете PDF файл, първо трябва да включим  fpdf.php файл. След това ние трябва да създадем FPDF обект, като използваме FPDF() конструкция .
С тази конструкция  може да се прехвърлят три стойности а именно ориентацията на страницата (портрет или пейзаж), единица мярка, както и размера на страницата (A4, A5, и т. н.). Знае се, че страниците са в А4  и мярката единица е милиметър. Може да са определени с:

CODE
1
$pdf=new FPDF('P','mm','A4');


Възможно е да използвате пейзаж (L),или други формати страници, като например Писмо и други мерни единици (pt, cm, in).
След това добавяме PDF документ с AddPage (). Оригиналът е в горния ляв ъгъл и текущата позиция се поставя на 1 см от границата; полетата могат да бъдат променени с функцията SetMargins ().
За да отпечатаме текста трябва първо да изберете шрифт с SetFont (). Нека изберете Arial Bold 16:

CODE
1
$pdf->SetFont('Arial','B',16);

Ние използваме Cell () функция за изходен текст. Cell е правоъгълна, вероятно в рамка, която съдържа някакъв текст. Това е текущата позиция. Ние ще определим неговите размери, неговият текст (центрирано или подравнен), границите трябва да бъдат изготвени  и  къде текущата позиция, ще се движи след това (в дясно, под или до началото на следващия ред). За да добавим рамката, ще направим това:

$pdf->Cell(40,10,'Hello World !',1);

Накрая, документът е затворен и се изпраща към браузъра с изход (). Бихме могли да го saved в файл с  име.

Има много  функции в FPDF, но ние не може да обхванем всички тези в тази статия.

За да научите повече за FPDF, моля, влезте в http://www.fpdf.org.

HTML2FPDF: The Converter

HTML2FPDF е PHP, която използва  FPDF , за да конвертира HTML файловете в PDF файлове. Тази библиотека се състои от три класа, а именно PDF, HTML2FPDF и FPDF (модифициран FPDF клас). Класът на PDF разширява HTML2FPDF клас, който се простира на класа FPDF.
Сега нека видим, как да конвертирате пробно HTML страница в PDF файл, използвайки HTML2FPDF библиотека. В HTML страница съдържа таблица, която изброява няколко нации със съответните национални знамена. По-долу е кода за конвертиране.

CODE
1
2
3
4
5
6
7
8
9
10
11
<?
require('html2fpdf.php');
$pdf=new HTML2FPDF();
$pdf->AddPage();
$fp = fopen("sample.html","r");
$strContent = fread($fp, filesize("sample.html"));
fclose($fp);
$pdf->WriteHTML($strContent);
$pdf->Output("sample.pdf");
echo "PDF file is generated successfully!";
?>

Първо трябва да включем html2fpdf.php файл, който съдържа класа HTML2FPDF и обектът създаден с помощта на конструктор HTML2FPDF (). След това новата  страница се добавя към PDF документ с помощта на функцията AddPage ().  Съдържанието в HTML   се четат от sample.html файл, използвайки файл функциите.  Съдържанието на HTML е написано на PDF формат, като използвате WriteHTML () функцията.

Класът HTML2FPDF  ще се работи най-добре с XHTML 1.0. Също така класа не поддържа всички функции, налични с HTML. За да знаете кой поддържа HTML таговете и други функции, моля консултирайте се с http://html2fpdf.sourceforge.net.

Статистика
Погледнат: пъти
Гласове: --
Оценка:
Действие
 



myTech.bg © 2004 - 2011 | Контакти | За реклама