Я работаю над простым PHP-кодом, который собирает данные из базы данных сотрудников и преобразует их в красивое резюме в формате PDF (с TCPDF ). Поскольку создание макета непосредственно в PHP довольно болезненно, я думаю, что делать макет в HTML и передавать его в PHP проще, что показано в этом примере .
Так что это мое резюме.
И это источник:
<html>
<head>
<title>Resume</title>
</head>
<body>
<img src="umbrella_logo.jpg">
<p align="left">
<b>Armin Hoffman</b>
<br>
UI/UX Designer
</p>
<table style="width:100%">
<tr>
<th align="left"><img src="blank_small.jpg">Profile</th>
<tr>
<td alignt="left">Etsy doostang zoodles disqus groupon greplin oooj voxy zoodles, weebly ning heekya handango imeem plugg dopplr jibjab, movity jajah plickers sifteo edmodo ifttt zimbra. Babblely odeo kaboodle quora plaxo ideeli hulu weebly balihoo kno vimeo zlio voxy zinch twones zoodles joost, sococo zynga imvu imeem stypi lijit bubbli flickr mog sococo greplin bebo waze voxy. Spotify kno diigo sifteo dropio sococo chegg meevee empressr kosmix groupon handango, cloudera mzinga chartly plickers loopt xobni airbnb prezi.</td>
</tr>
</table>
<br>
<img src="blank_small.jpg"><b>Experience</b></img>
<table>
<tr>
<th>Red Design Limited, San Diego, CA 91232</th>
<th>Professional UI/UX Designer</th>
</tr>
<tr>
<td>April 2009 - May 2013</td>
<td rowspan="2"><ul style="font-size:11pt;list-style-type:img|png|2|2|logo_example.png">
<li>Sold over 100 large interface design with word press, CSS 3 & HTML 5 coding</li>
<li>Extended design software research and web analysis, design & application</li>
<li>Designed multitasking web research and multiple print for official uses</li>
<li>User experience designer along with HTML 5, Word press, SEO, CSS 3, Java</li>
<ul>
</td>
</tr>
</table>
<table>
<tr>
<th>Matrix Media Limited, San Diego, CA 41262</th>
<th>Senior Web Designer</th>
</tr>
<tr>
<td>Feb 2007 - Nov 2009</td>
<td rowspan="2"><ul style="font-size:11pt;list-style-type:img|png|2|2|logo_example.png">
<li>Made over 500 large interface design with word press, CSS 3 & HTML 5 coding</li>
<li>Extended design software research and web analysis, design & application</li>
<li>Designed multitasking web research and multiple print for official uses</li>
<li>User experience designer along with HTML 5, Word press, SEO, CSS 3, Java</li>
<ul>
</td>
</tr>
</table>
</body>
</head>
Затем скомбинируйте его с PHP, например:
<?php
require_once('tcpdf/config/lang/eng.php');
require_once('tcpdf/tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 006');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 006', PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set font
$pdf->SetFont('dejavusans', '', 10);
// add a page
$pdf->AddPage();
$html = <<<EOF
<img src="umbrella_logo.jpg">
<p align="left">
<b>Armin Hoffman</b>
<br>
UI/UX Designer
</p>
<table style="width:100%">
<tr>
<th align="left"><img src="blank_small.jpg">Profile</th>
<tr>
<td alignt="left">Etsy doostang zoodles disqus groupon greplin oooj voxy zoodles, weebly ning heekya handango imeem plugg dopplr jibjab, movity jajah plickers sifteo edmodo ifttt zimbra. Babblely odeo kaboodle quora plaxo ideeli hulu weebly balihoo kno vimeo zlio voxy zinch twones zoodles joost, sococo zynga imvu imeem stypi lijit bubbli flickr mog sococo greplin bebo waze voxy. Spotify kno diigo sifteo dropio sococo chegg meevee empressr kosmix groupon handango, cloudera mzinga chartly plickers loopt xobni airbnb prezi.</td>
</tr>
</table>
<br>
<img src="blank_small.jpg"><b>Experience</b></img>
<table>
<tr>
<th>Red Design Limited, San Diego, CA 91232</th>
<th>Professional UI/UX Designer</th>
</tr>
<tr>
<td>April 2009 - May 2013</td>
<td rowspan="2"><ul style="font-size:11pt;list-style-type:img|png|2|2|logo_example.png">
<li>Sold over 100 large interface design with word press, CSS 3 & HTML 5 coding</li>
<li>Extended design software research and web analysis, design & application</li>
<li>Designed multitasking web research and multiple print for official uses</li>
<li>User experience designer along with HTML 5, Word press, SEO, CSS 3, Java</li>
<ul>
</td>
</tr>
</table>
EOF;
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('out_cv.pdf', 'I');
?>
PHP показывает это сообщение об ошибке:
Примечание: неопределенный индекс: строки в
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 16923
Предупреждение: array_push () ожидает, что параметр 1 будет массивом, значение NULL указано в
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 16925
Примечание: неопределенный индекс: столбцы в
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 16477
Примечание: неопределенный индекс: thead in
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 16492
Примечание: неопределенный индекс: thead in
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 16505
Примечание: неопределенная переменная: cellspacingx in
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 18121
Примечание: неопределенная переменная: ячейка в
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 18188
Примечание: неопределенная переменная: пространство ячеек в
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 18214
Примечание: неопределенная переменная: cellspacingx in
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 18269
Предупреждение. В foreach () указан неверный аргумент
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 19508
Предупреждение: count (): параметр должен быть массивом или объектом, который
реализует Countable в C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php
по линии 19537
Предупреждение. В foreach () указан неверный аргумент
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php в строке 19540
Примечание: неопределенный индекс: old_cell_padding in
C: \ XAMPP \ htdocs \ resumebuilder \ tcpdf \ tcpdf.php на линии TCPDF 19750 года
ОШИБКА: некоторые данные уже выведены, невозможно отправить файл PDF
Я полагаю, что у writeHTML () нет действительно способного HTML-парсера? Как это исправить?