我正在尝试使用TCPDF将图像插入PDF,但我只是得到空白页面。这是我的代码:
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);
}
答案 0 :(得分:3)
我想到了上面的问题。由于某些未知原因,我无法将临时文件直接传递给TCPDF,该选项首先将临时文件存储在文件夹中,然后将新位置传递给TCPDF,如下所示
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);
}
为该行
$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);