එහෙනම් අද බලමු පලවෙනි පාඩම :- how to Convert HTML form data into a PDF file using PHP
අපි කරන්න යන්නේ html form එකක් මගින් data ලබා ඒම ඩේටා වලින් PDF file generate කරන්න .....
මේ වගේ දෙයක් අවශ්ය වෙන්නේ ඇයි ...
අපිට ගොඩක් වෙලාට system එකක් හැදුවම අවශ්ය වෙනවා අපගේ report ලබා ගන්න PDF format එකෙන්......
මුලික දැනුම :-
Form එකකින් ඩේටා සබ්මිට් කරන්න...
PHP file include
PHP data කොහොමද HTML බවට හරවා ගන්නේ....
Method:-
1st page (form.php)
2n page (create_pdf.php)
මෙහිදී අපි mpdf claas එක යොදා ගත්තා pdf generation..මේ දේම කරන්න පුළුවන් Html2pdf කියලා class එකක් ඇති...දැනට ලෝකෙම pdf වලට බාවිතා වෙන්නේ මේ predefined class 2ක තමා.....
මේ ගැන වැඩි විස්තර මෙතනින් බලන්න...
http://www.mpdf1.com/mpdf/
Html2pdf විස්තර මෙතනින් බලන්න...
http://html2pdf.fr/en/example
ගොඩක් features තියෙනවා mpdf වල..අපිට පුළුවන් watermark images/ external css ලින්ක් කරලා pdf එක ලස්සන කරලා ගන්න...තව අපි කැමති නමක් සැදෙන pdf එකට දෙන්න...ඔය වගේ.....
Code explain
මේ PDF class එක මගින් PDF එකක් generate කරන්න නම් output එක මුලින්ම අපි html බවට පත් කර ගන්න ඕන..එක මේ class එක හදපු කෙනා හදුන්වා දීපු method එක..අපි ඒ මුළු output එකම ගත්තා $content එකට...
මුලින් file අපේ pdf generate කරන්න class එක include කර ගන්නවා (include දැන ගන්න යන්න මෙතනින්)
ob_clean(); යොදා ගන්නේ ඇයි කියලා බලනවා ඇති...අපේ මේ class එකින් out එකක් ගන්නවා නම් වෙන කිසිම දෙයක් buffer වෙන්න බැහැ..සරල්ලව කිව්වොත් ප්රින්ට් වෙන්න බැහැ..ඕක ලොකු ෆයිල් එකක හොයන්න බැරි නිසා අපි කරන්නේ මේ code එක දාන එක.. ඔය code කෑල්ලෙන් එහෙම දෙයක් output වෙනවා නම් clear කරලා දානවා..
Further Reference
ob_start(); වලින් කරන්න පුළුවන් දේවල් හොයා ගන්න (search goggle:- Headers already sent by PHP)
ob_clean(); මල්ලි නම් ob_start(); අයියා වගේ
මේ ටික නම් බැලුවම තේරෙනවා ඇතිනේ..මේවා හැම එකටම පොදුයි...මේ අර අපි import කල class එක use කරන අකාරය...
වැඩ කරන කෝඩ් එක මෙතනින් download කර ගන්න ..
මෙතන තියෙනවා full class file එකම මන් කිව්වා හැම වැඩකටම(watermark images/ external css....) example එක්කම.
full class file downaload here
ලබන පාර කියලා දෙන්නම් CSS file එකක් external link කරලා ලස්සන pdf එකක් generate කර ගන්න...සහ database එකකින් ගන්න data වලින් dynamically PDF generate කරන්නේ කියලා....
අපි කරන්න යන්නේ html form එකක් මගින් data ලබා ඒම ඩේටා වලින් PDF file generate කරන්න .....
මේ වගේ දෙයක් අවශ්ය වෙන්නේ ඇයි ...
අපිට ගොඩක් වෙලාට system එකක් හැදුවම අවශ්ය වෙනවා අපගේ report ලබා ගන්න PDF format එකෙන්......
මුලික දැනුම :-
Form එකකින් ඩේටා සබ්මිට් කරන්න...
PHP file include
PHP data කොහොමද HTML බවට හරවා ගන්නේ....
Method:-
1st page (form.php)
<form name="" method="post" action="create_pdf.php">
<table width="98%" border="0" cellpadding="2" cellspacing="2" style="border:none; vertical-align:top; margin-left:20px;">
<tr>
<td valign="top"> </td>
<td valign="top"> </td>
</tr>
<tr>
<td width="225" valign="top"><strong>Quote:</strong></td>
<td>
<input type="text" name="quote_id"/>
</tr>
<tr>
<td colspan="2" valign="top" height="10"></td>
</tr>
<tr>
<td width="225" valign="top"><strong>Date:</strong></td>
<td>
<input type="text" name="date"/>
</tr>
<tr>
<td colspan="2" valign="top" height="10"></td>
</tr>
<tr>
<td width="225" valign="top"><strong>Notes:</strong></td>
<td>
<input type="text" name="notes"/>
</tr>
<tr>
<td align="right" valign="top">
<input type="submit" name="submit" id="submit" value="genarate PDF"/>
</td>
<td valign="top" align="left"> <input type="reset" name="reset" id="reset" value="Clear"/></td>
</tr>
</table>
</form>
2n page (create_pdf.php)
<?php
$quote_id = mysql_real_escape_string($_POST['quote_id']);
$date=mysql_real_escape_string($_POST['date']);
$notes=mysql_real_escape_string($_POST['notes']);
?>
<?php
$content .='<tr>
<td>'.$quote_id; $content .='</td>
<br>
<td>'.$date; $content .='</td>
<br>
<td>'.$notes; $content .='</td>
<br>
<td></td>
<td></td>
<td></td>
</tr>';
?>
<?php
include('mpdf/mpdf.php');
ob_clean();
$mpdf=new mPDF('c','A4','','' , 0 , 0 , 0 , 0 , 0 , 0);
$mpdf->SetDisplayMode('fullpage');
$mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list
$mpdf->WriteHTML($content, isset ( $_GET ['vuehtml'] ) );
$mpdf->Output();
?>
මෙහිදී අපි mpdf claas එක යොදා ගත්තා pdf generation..මේ දේම කරන්න පුළුවන් Html2pdf කියලා class එකක් ඇති...දැනට ලෝකෙම pdf වලට බාවිතා වෙන්නේ මේ predefined class 2ක තමා.....
මේ ගැන වැඩි විස්තර මෙතනින් බලන්න...
http://www.mpdf1.com/mpdf/
Html2pdf විස්තර මෙතනින් බලන්න...
http://html2pdf.fr/en/example
ගොඩක් features තියෙනවා mpdf වල..අපිට පුළුවන් watermark images/ external css ලින්ක් කරලා pdf එක ලස්සන කරලා ගන්න...තව අපි කැමති නමක් සැදෙන pdf එකට දෙන්න...ඔය වගේ.....
Code explain
<?php
$content .='<tr>
<td>'.$quote_id; $content .='</td>
<br>
<td>'.$date; $content .='</td>
<br>
<td>'.$notes; $content .='</td>
<br>
<td></td>
<td></td>
<td></td>
</tr>';
?>
මේ PDF class එක මගින් PDF එකක් generate කරන්න නම් output එක මුලින්ම අපි html බවට පත් කර ගන්න ඕන..එක මේ class එක හදපු කෙනා හදුන්වා දීපු method එක..අපි ඒ මුළු output එකම ගත්තා $content එකට...
<?php
include('mpdf/mpdf.php');
ob_clean();
$mpdf=new mPDF('c','A4','','' , 0 , 0 , 0 , 0 , 0 , 0);
$mpdf->SetDisplayMode('fullpage');
$mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list
$mpdf->WriteHTML($content, isset ( $_GET ['vuehtml'] ) );
$mpdf->Output();
?>
මුලින් file අපේ pdf generate කරන්න class එක include කර ගන්නවා (include දැන ගන්න යන්න මෙතනින්)
ob_clean(); යොදා ගන්නේ ඇයි කියලා බලනවා ඇති...අපේ මේ class එකින් out එකක් ගන්නවා නම් වෙන කිසිම දෙයක් buffer වෙන්න බැහැ..සරල්ලව කිව්වොත් ප්රින්ට් වෙන්න බැහැ..ඕක ලොකු ෆයිල් එකක හොයන්න බැරි නිසා අපි කරන්නේ මේ code එක දාන එක.. ඔය code කෑල්ලෙන් එහෙම දෙයක් output වෙනවා නම් clear කරලා දානවා..
Further Reference
ob_start(); වලින් කරන්න පුළුවන් දේවල් හොයා ගන්න (search goggle:- Headers already sent by PHP)
ob_clean(); මල්ලි නම් ob_start(); අයියා වගේ
$mpdf=new mPDF('c','A4','','' , 0 , 0 , 0 , 0 , 0 , 0);
$mpdf->SetDisplayMode('fullpage');
$mpdf->list_indent_first_level = 0; // 1 or 0 - whether to indent the first level of a list
$mpdf->WriteHTML($content, isset ( $_GET ['vuehtml'] ) );
$mpdf->Output();
මේ ටික නම් බැලුවම තේරෙනවා ඇතිනේ..මේවා හැම එකටම පොදුයි...මේ අර අපි import කල class එක use කරන අකාරය...
වැඩ කරන කෝඩ් එක මෙතනින් download කර ගන්න ..
මෙතන තියෙනවා full class file එකම මන් කිව්වා හැම වැඩකටම(watermark images/ external css....) example එක්කම.
full class file downaload here
ලබන පාර කියලා දෙන්නම් CSS file එකක් external link කරලා ලස්සන pdf එකක් generate කර ගන්න...සහ database එකකින් ගන්න data වලින් dynamically PDF generate කරන්නේ කියලා....