Ticketa
Registered
Привет,
За около 7 дни изпробвах над 5 продукта (dompdf, tcpdf, mpdf и още два) които ми "бъгват" целият проект.
Проблема се корени в това , че генерирам Х на брой етикети, всеки 1 етикет си има background снимка. Върху снимката обаче генерирам цена(създадена по формули и маржове, тя е променлива)
Стигнах до заключението да използвам HTML+CSS , НО .. нито един от конверторите не позволява пълноценно използването на CSS например функциите position: absolute й position: relative
Вие използвали ли сте подобен инструмент , който поддържа или има опция за "текст" върху точно кординирано място/позиция? Й ако - да, чрез пример кое бихте ми посочили?
Благодаря!
Примерният ми html:
Пример с tcpdf
За около 7 дни изпробвах над 5 продукта (dompdf, tcpdf, mpdf и още два) които ми "бъгват" целият проект.
Проблема се корени в това , че генерирам Х на брой етикети, всеки 1 етикет си има background снимка. Върху снимката обаче генерирам цена(създадена по формули и маржове, тя е променлива)
Стигнах до заключението да използвам HTML+CSS , НО .. нито един от конверторите не позволява пълноценно използването на CSS например функциите position: absolute й position: relative
Вие използвали ли сте подобен инструмент , който поддържа или има опция за "текст" върху точно кординирано място/позиция? Й ако - да, чрез пример кое бихте ми посочили?
Благодаря!
Примерният ми html:
Код:
style>
@page {
size: 7in 9.25in;
margin: 27mm 16mm 27mm 16mm;
}
span {position:absolute; top:250px; left:20px; width:200px; height:25px}
</style>
<table cellpadding="3">
<tbody>
<tr style="margin:1px">
<td style="margin:1px"><IMG SRC="output-onlinepngtools.png">
<span>
19,50
</span></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
</tbody>
</table>
Пример с tcpdf
Код:
<?php
// Include the main TCPDF library (search for installation path).
require_once('./tcpdf/tcpdf.php');
// include 1D barcode class (search for installation path)
require_once('./tcpdf/tcpdf_barcodes_1d.php');
date_default_timezone_set('Europe/Sofia');
// 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 061');
$pdf->SetSubject('');
$pdf->SetKeywords('');
/*
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 061', 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(0);
$pdf->SetFooterMargin(0);
*/
//remove header and footer
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
//$pdf->setTopMargin(10.0);
$pdf->SetLeftMargin(6.0);
$pdf->SetRightMargin(6.00);
$pdf->setHeaderMargin(6.0);
$pdf->SetFooterMargin(6.0); //13mm
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
//if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
// require_once(dirname(__FILE__).'/lang/eng.php');
// $pdf->setLanguageArray($l);
//}
// ---------------------------------------------------------
// set font
$pdf->SetFont('helvetica', '', 10);
// add a page
$pdf->AddPage();
// define some HTML content with style
$html = '
<style>
@page {
size: 7in 9.25in;
margin: 27mm 16mm 27mm 16mm;
}
span {position:absolute; top:250px; left:20px; width:200px; height:25px}
</style>
<table cellpadding="3">
<tbody>
<tr style="margin:1px">
<td style="margin:1px"><IMG SRC="output-onlinepngtools.png">
<span>
19,50
</span></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
<tr style="margin:1px">
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
<td style="margin:1px"><img src="output-onlinepngtools.png" alt="Snow" /></td>
</tr>
</tbody>
</table>
';
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example_061.pdf', 'I');