Question Detail
How to create html to pdf in php CODEIGNITER?
I want to create pdf in Codeigniter.I have researched many things but mostly paid or there is not that feature what I want in my pdf, Please developer suggest me any useful pdf generator.
I want am developing a website for Writer he will write store novel on site and it will be converted to pdf for free distribution. So pdf has to be Images, Tables Formatted Text. Do you have any suggestion or tutorial?
Please share.
Thread Reply
Bili Greed
- 3 years ago
Now and again, we require the report as a pdf or html change to pdf. So now I will endeavor to disclose how to make pdf page in CodeIgniter. To make pdf page, we utilize library for making pdf, in this illustration I will utilize library tcpdf from http://www.tcpdf.org/. Other than utilizing tcpdf, you can likewise utilize another library, for example, fpdf,dompdf, and so on.
I will use tcpdf? Because,
I think tcpdf is very easy to use
Following are instruction to add tcpdf library in your CodeIgniter:
- Download tcpfd from this url http://sourceforge.net/projects/tcpdf/files/
- Example I downloaded tcpdf_6_0_020.zip, and extract it.
- Move tcpdf direktory to your CodeIgniter/application/libraries/
- Create file in your CodeIgniter/application/libraries/Pdf.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if
( ! defined(
'BASEPATH'
))
exit
(
'No direct script access allowed'
);
require_once
dirname(
__FILE__
) .
'/tcpdf/tcpdf.php'
;
class
Pdf
extends
TCPDF
{
function
__construct()
{
parent::__construct();
}
}
/* End of file Pdf.php */
/* Location: ./application/libraries/Pdf.php */
</pre>
- And the last, now we create example controller page to create pdf page. controllers/c_test.php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
if
( ! defined(
'BASEPATH'
))
exit
(
'No direct script access allowed'
);
class
C_test
extends
CI_Controller {
function
__construct()
{
parent::__construct();
$this
->load->library(
"Pdf"
);
}
public
function
create_pdf() {
//============================================================+
// File name : example_001.php
//
// Description : Example 001 for TCPDF class
// Default Header and Footer
//
// Author: Muhammad Saqlain Arif
//
// (c) Copyright:
// Muhammad Saqlain Arif
// PHP Latest Tutorials
// http://www.phplatesttutorials.com/
// saqlain.sial@gmail.com
//============================================================+
// 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(
'Muhammad Saqlain Arif'
);
$pdf
->SetTitle(
'TCPDF Example 001'
);
$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.
' 001'
, PDF_HEADER_STRING,
array
(0,64,255),
array
(0,64,128));
$pdf
->setFooterData(
array
(0,64,0),
array
(0,64,128));
// 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 some language-dependent strings (optional)
if
(@
file_exists
(dirname(
__FILE__
).
'/lang/eng.php'
)) {
require_once
(dirname(
__FILE__
).
'/lang/eng.php'
);
$pdf
->setLanguageArray(
$l
);
}
// ---------------------------------------------------------
// set default font subsetting mode
$pdf
->setFontSubsetting(true);
// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf
->SetFont(
'dejavusans'
,
''
, 14,
''
, true);
// Add a page
// This method has several options, check the source code documentation for more information.
$pdf
->AddPage();
// set text shadow effect
$pdf
->setTextShadow(
array
(
'enabled'
=>true,
'depth_w'
=>0.2,
'depth_h'
=>0.2,
'color'
=>
array
(196,196,196),
'opacity'
=>1,
'blend_mode'
=>
'Normal'
));
// Set some content to print
$html
= <<<EOD
<h1>Welcome to <a href=
"http://www.tcpdf.org"
style=
"text-decoration:none;background-color:#CC0000;color:black;"
> <span style=
"color:black;"
>TC</span><span style=
"color:white;"
>PDF</span> </a>!</h1>
<i>This is the first example of TCPDF library.</i>
<p>This text is printed using the <i>writeHTMLCell()</i> method but you can also
use
: <i>Multicell(), writeHTML(), Write(), Cell()
and
Text()</i>.</p>
<p>Please check the source code documentation
and
other examples
for
further information.</p>
EOD;
// Print text using writeHTMLCell()
$pdf
->writeHTMLCell(0, 0,
''
,
''
,
$html
, 0, 1, 0, true,
''
, true);
// ---------------------------------------------------------
// Close and output PDF document
// This method has several options, check the source code documentation for more information.
$pdf
->Output(
'example_001.pdf'
,
'I'
);
//============================================================+
// END OF FILE
//============================================================+
}
}
- After that at last you have done it, run this in your program and you will get the result
Lokesh Gupta
- 2 years ago
You can download TCDPF library from here.
<?php require_once('TCPDF-master/config/lang/eng.php'); require_once('TCPDF-master/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, 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 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('dejavusans', '', 10);
// add a page
$pdf->AddPage();
$img=getcwd().'/logo/logo.png';
// create some HTML content
$html = '<table border="" cellpadding="5" cellspacing="0" width="100%" style="width:100%;" bordercolor="#ccc">
<tr bgcolor="#ffffff">
<td cellpadding="5" align="center"><img src="'.$img.'" width="164" height="46"></td>
</tr>
<tr bgcolor="#94c63d">
<td align="center"><font color="#fff">
<h2>EXPENSE CLAIM</h2>
</font></td>
</tr>
<tr bgcolor="#f4f6f7">
<td align="center"><font color="#2C3E50">
<h3>MY DETAILS</h3>
</font></td>
</tr>
<tr>
<td><table border="0" cellpadding="8" cellspacing="8" width="100%" style="width:100%;" bordercolor="#ccc">
<tr bgcolor="#f8f8f8">
<td width="50%"><strong>First Name:</strong> <span>'.$fname.'</span></td>
<td width="50%"><strong>Last Name:</strong> <span>'.$lname.'</span></td>
</tr>
<tr bgcolor="#f8f8f8">
<td width="50%"><strong>Email:</strong> <span>'.$email.'</span></td>
<td width="50%"><strong>Phone Number:</strong> <span>'.$phone_number.'</span></td>
</tr>
<tr bgcolor="#f8f8f8">
<td width="50%"><strong>Employer:</strong> <span>'.$employer.'</span></td>
<td width="50%"><strong>Vehicle Registration Number:</strong> <span>'.$vehicle_registration.'</span></td>
</tr>
</table></td>
</tr>
<tr bgcolor="#f4f6f7">
<td cellpadding="8" align="center"><font color="#2C3E50"><h3>DETAILS</h3></font></td>
</tr>
<tr>
<td>'.$details.'</td>
</tr>
<tr bgcolor="#f4f6f7">
<td cellpadding="8" align="center"><font color="#2C3E50">
<h3>Term & Condition</h3>
</font></td>
</tr>
<tr>
<td><table border="0" cellpadding="8" cellspacing="8" width="100%" style="width:100%;" bordercolor="#ccc">
<tr bgcolor="#f8f8f8">
<td width="50%"><strong></strong></td>
<td width="50%"></td>
</tr>
<tr bgcolor="#f8f8f8">
<td width="50%"><strong></strong></td>
<td width="50%"></td>
</tr>
<tr bgcolor="#f8f8f8">
<td width="50%"><strong></strong></td>
<td width="50%"></td>
</tr>
</table></td>
</tr>
<tr bgcolor="#f4f6f7">
<td align="center"><font color="#2C3E50">
<h3>DECLARATION</h3>
</font></td>
</tr>
<tr>
<td>
<input type="checkbox" style="width:auto;" checked>
Yes - I accept this declaration. </td>
</tr>
<tr bgcolor="#181828">
<td align="center" style="color:#99a9b5; padding:25px; font-size:18px;">XYZ Pty Ltd. </td>
</tr>
</table>';
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// reset pointer to the last page
$pdf->lastPage();
// ---------------------------------------------------------
$filename = $fname.'-filename-'.time().'.pdf';
//Close and output PDF document
$pdfdoc=$pdf->Output(getcwd().'/'.$filename, 'F');
?>
Goal Ploy - Money Management App