Reputation:
when we click on link we want to download php page Data in Pdf format.
So we downloaded TCPDF from official git hub link
we copied extracted folder to path : "/var/www/html/sbdev2/php/site6"
when we run the example code in browser : http://sbdev2.kidsdial.com:81/php/site6/tcpdf/examples/example_011.php we can able to download pdf.
when we tried same code in another path : http://sbdev2.kidsdial.com:81/php/site6/example_011.php , we are getting error as "Fatal error: Class 'TCPDF' not found
in" in line : class MYPDF extends TCPDF {
i checked link but that don't work for me.
also i checked link2 & installed TCPDF via composer as below image. but still that error is there.
example_011.php
require_once('tcpdf_config.php');
// extend TCPF with custom functions
class MYPDF extends TCPDF {
// Load table data from file
public function LoadData($file) {
// Read file lines
$lines = file($file);
$data = array();
foreach($lines as $line) {
$data[] = explode(';', chop($line));
}
return $data;
}
// Colored table
public function ColoredTable($header,$data) {
// Colors, line width and bold font
$this->SetFillColor(255, 0, 0);
// Header
$w = array(40, 35, 40, 45);
$num_headers = count($header);
for($i = 0; $i < $num_headers; ++$i) {
$this->Cell($w[$i], 7, $header[$i], 1, 0, 'C', 1);
}
$this->Ln();
// Color and font restoration
$this->SetFillColor(224, 235, 255);
$this->SetTextColor(0);
$this->SetFont('');
// Data
$fill = 0;
foreach($data as $row) {
$this->Cell($w[0], 6, $row[0], 'LR', 0, 'L', $fill);
$fill=!$fill;
}
$this->Cell(array_sum($w), 0, '', 'T');
}
}
// create new PDF document
$pdf = new MYPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 011', 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);
// 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', '', 12);
// add a page
$pdf->AddPage();
// column titles
$header = array('Country', 'Capital', 'Area (sq km)', 'Pop. (thousands)');
// data loading
$data = $pdf->LoadData('data/table_data_demo.txt');
// print colored table
$pdf->ColoredTable($header, $data);
// ---------------------------------------------------------
// close and output PDF document
$pdf->Output('example_011.pdf', 'I');
Edit
tcpdfconfig.php
require_once('config/tcpdf_config_alt.php');
// Include the main TCPDF library (search the library on the following directories).
$tcpdf_include_dirs = array(
realpath('../tcpdf.php'),
'/usr/share/php/tcpdf/tcpdf.php',
'/usr/share/tcpdf/tcpdf.php',
'/usr/share/php-tcpdf/tcpdf.php',
'/var/www/tcpdf/tcpdf.php',
'/var/www/html/tcpdf/tcpdf.php',
'/usr/local/apache2/htdocs/tcpdf/tcpdf.php'
);
foreach ($tcpdf_include_dirs as $tcpdf_include_path) {
if (@file_exists($tcpdf_include_path)) {
require_once($tcpdf_include_path);
break;
}
}
Edit2
its working only when i include files in sub folder of /var/www/html/sbdev2/php/site6/tcpdf/ folder example :
/var/www/html/sbdev2/php/site6/tcpdf/example1
/var/www/html/sbdev2/php/site6/tcpdf/example1
if i copy example folder contents to another path , let say : /var/www/html/sbdev2/php/site6/ its not working at all.....
Upvotes: 3
Views: 24253
Reputation: 421
This is happening because of the configurations found in tcpdf_include.php file. Change the first one to reflect the full path to your tcpdf folder e.g.
$tcpdf_include_dirs = array(
realpath(dirname(__FILE__) . 'tcpdf.php'),// True source file
realpath('tcpdf.php'),// Relative from $PWD
'/var/www/html/timetablemaster/ttm/php_libs/tcpdf/tcpdf.php',
'/usr/share/tcpdf/tcpdf.php',
'/usr/share/php-tcpdf/tcpdf.php',
'/var/www/tcpdf/tcpdf.php',
'/var/www/html/tcpdf/tcpdf.php',
'/usr/local/apache2/htdocs/tcpdf/tcpdf.php'
);
Upvotes: 0
Reputation: 936
In the example 001 changed this line:
// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');
Into this:
// Include the main TCPDF library (search for installation path).
require_once('**C:\wamp\www\pdf2\tcpdf\tcpdf.php**');
And it works for me on a WAMP
.
Hope it helps!
Upvotes: 5
Reputation: 101
I also faced this problem and atlast got the solution. Everything is fine, let every file remain at its original path only, just you need to open tcpdf_include.php and include the file tcpdf.php, thats all! require_once(...INSTALED DIRECTORY...\tcpdf.php'); It will work, all the best
Upvotes: 10