tags:

views:

1556

answers:

1

Hi, am trying to insert images into a PDF using TCPDF, but am just getting blank pages. Here is my code:

if ((($_FILES["file"]["type"][0] == "image/gif")
|| ($_FILES["file"]["type"][0] == "image/jpeg")
|| ($_FILES["file"]["type"][0] == "image/pjpeg"))
&& ($_FILES["file"]["size"][0] < 1000001))


{
if ($_FILES["file"]["error"][0] > 0) 
{
$errmsg_arr[] = "Return Code: " . $_FILES["file[]"]["error"][0] . "<br />";
$errflag = true;

}  else
{  
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('');
$pdf->SetTitle('ePast Papers');
$pdf->SetSubject('ePast Papers Archives');
$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
$pdf->setLanguageArray($l); 

// ---------------------------------------------------------
if ($_FILES["file"]["tmp_name"][0]!='')
{
// add a page
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image($_FILES["file"]["tmp_name"][0] , 0, 0, 4, 6, '', 'http://www.tcpdf.org', '', true, 150);
}
if ($_FILES["file"]["tmp_name"][1] != '')
{
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image($_FILES["file"]["tmp_name"][1] , 50, 50, 100 ,150, '', 'http://www.tcpdf.org', '', true, 150);
}

if ($_FILES["file"]["tmp_name"][2] != '')
{
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image($_FILES["file"]["tmp_name"][2] , 50, 50, 100, 150, '', 'http://www.tcpdf.org', '', true, 150);
}

if ($_FILES["file"]["tmp_name"][3] != '')
{
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image($_FILES["file"]["tmp_name"][3] , 50, 50, 100, 150, '', 'http://www.tcpdf.org', '', true, 150);
}
A: 

i figured the issue above. For some unknown reason, I was not able to pass the temporary files directly to TCPDF, the option was storing the temporary files in a folder first and then passing the new location to TCPDF like below

for($i=0; $i<=6; $i++){ 

  move_uploaded_file($_FILES["file"]["tmp_name"][$i],
  "scans/" .$_FILES["file"]["name"][$i]);



  }
// create handle for new PDF document 

... 
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('');
$pdf->SetTitle('ePast Papers');
$pdf->SetSubject('ePast Papers Archives');
$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
$pdf->setLanguageArray($l); 

// ---------------------------------------------------------
if ($_FILES["file"]["tmp_name"][0]!='')
{
// add a page
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image('scans/'.$_FILES["file"]["name"][0] , 0, 0, 210, 297, '', '', '', true, 150);
}
if ($_FILES["file"]["tmp_name"][1] != '')
{
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image('scans/'.$_FILES["file"]["name"][1] , 0, 0, 210, 297, '', '', '', true, 150);
}

if ($_FILES["file"]["name"][2] != '')
{
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image('scans/'.$_FILES["file"]["name"][2] , 0, 0, 210, 297, '', '', '', true, 150);
}

if ($_FILES["file"]["tmp_name"][3] != '')
{
$pdf->AddPage();

// set JPEG quality
$pdf->setJPEGQuality(75);

// Image example
$pdf->Image('scans/'.$_FILES["file"]["name"][3] , 0, 0, 210, 297, '', '', '', true, 150);
}

for the line $pdf->Image('scans/'.$_FILES["file"]["name"][0] , x position on document, y position on document, width(mm), height(mm), '', 'Link inserted image to a URL', '', true, 150);