2010-02-14 108 views
1

正試圖使用​​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

請在您的問題中添加更多詳細信息。你有沒有做過任何調試?你確定*圖片正在上傳嗎?是否打開了error_reporting()?實際上可以訪問臨時目錄中的圖像嗎?這是什麼類型的服務器?你正在上傳什麼樣的圖片?你可以添加一個鏈接到圖書館?你能舉出一個示例圖像嗎?什麼是你的PHP版本? – 2010-02-14 12:04:00

+0

以上是運行PHP ver的Apache服務器。 5.3.1。我敢肯定圖片正在上傳,因爲我已經打開了錯誤報告,我沒有得到任何錯誤。在修改'$ pdf-> Image($ _ FILES [「file」] [「tmp_name」] [3],50,50,100,150,'','http://www.tcpdf。 org','',true,150)'我能夠加載一些圖片,雖然他們正在加載切片和打破頁面後。 – 2010-02-14 12:28:59

回答

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);