如果我們在循環的外部創建對象並繼續向多個文檔插入相同的圖像,則會識別未定義的索引錯誤。當在所有文檔中使用相同的圖像文件時,FPDF無法創建多個PDF文檔
FPDF庫一旦在第一個文檔中使用,就會在內部刪除圖像。每當循環執行第二條記錄來創建文檔時,附加的圖像都不可用。
由於這個錯誤拋出FPDF類。如果我們在循環內部移動這個對象,這個未定義的索引錯誤被解決了,但是性能明智,這是不斷創建新對象的一個缺點。
步驟來重現
<?php
require 'fpdf.php';
$pdf = new FPDF();
foreach(array(1,2,3,4) as $value)
{
//add the page to the current PDF
$pdf->AddPage();
$cover_image = 'cover_page.jpg';
//add one image to that pdf page
$pdf->Image($cover_image,0,0,210,'','JPG');
$temp = 'temp/'.$value.'.pdf';
//output the file into the local folder
$pdf->Output($temp, 'F');
}
如果我們行號1659 & 1660評論未設定功能的FPDF類也第三&第四PDF文檔是不妥當的
function _putimages()
{
foreach(array_keys($this->images) as $file)
{
$this->_putimage($this->images[$file]);
//unset($this->images[$file]['data']);
//unset($this->images[$file]['smask']);
}
}
請幫我解決這個問題。提前致謝。
無效在使用上面的代碼時,PDF文件正在生成(第3和第4)。請忽略我對FPDF類中_putimages()函數的更改,因爲我正在嘗試。我們需要創建多個PDF,在所有文檔中使用相同的封面圖像。 – Sundar
如果我們將對象創建移動到循環內部,則通知錯誤是固定的。由於現有對象在驗證完成後會清除圖像 – Sundar