簡體   English   中英

FPDF 錯誤:圖像文件丟失或不正確

[英]FPDF error: Missing or incorrect image file

我正在使用 FPDF 庫通過 PHP 生成 PDF 文件。 這個庫可以很好地處理純文本(即 PDF 文件正在為任何文本生成),但這給我一個FPDF error: Missing or incorrect image file:{MY_FILE_PATH}同時嘗試將圖像添加到我的 PDF 頁面。 通過瀏覽器訪問該文件路徑,然后相應的圖像顯示正常。

我的代碼是:

require('fpdf.php');

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
$pdf->Write(10, 'Example image');
$image_path = MY_FILE_PATH; // This variable contains my actual file path 
$pdf->Image($image_path, 10, 10, 350, 450);
$pdf->Output();

這段代碼在我的本地主機上運行良好,即使有圖像也生成相應的 PDF 文件,但是在移動到服務器后這不起作用。

我嘗試過這些可能性,例如:

  1. 具有圖像的絕對和相對路徑。

  2. 嘗試使用放置在同一文件夾中的本地圖像。

  3. 所有圖像格式,如 jpg、png 和 gif 也是。

  4. 還檢查了圖像和相應文件夾的權限。

這些案例都不適合我,被這個問題困住了,誰能幫我解決這個問題。

謝謝!

濕婆...

經過長時間的斗爭,我終於找到了這個問題的原因,我已經在這里討論

這個問題主要是由於我的服務器沒有啟用“allow_url_fopen”設置,我已經通過使用 CURL 解決了這個問題。 我正在給出解決這個問題的分步程序,因為這可能對像我這樣的人避免浪費時間(尋找解決方案)有用。

1. Create a temporary file in the local system with write permission.

Ex: $fp = @fopen($local_file_path, 'x'); 
    fclose($fp);

2. Get the remote location file contents using CURL and write that to local file 
which is created in the previous step.

Ex: $curl = new CurlWrapper($remote_file_path);
    $curl->copyToFile($local_file_path);

3. Now send this local file path to FPDF function(image) then the corresponding 
PDF will get generate for the file without any issues.

我認為這是解決這個問題的一種方法,如果有人知道其他一些方法,那么您可以將它們張貼在這里,以便這個問題對某人有用。

只需添加:

allow_url_fopen = ON

在 php.ini (如果不存在則創建新的)解決了這個問題。

http://www.solo-technology.com/blog/2010/04/07/quick-fix-for-url-file-access-is-disabled-issues/

任何人都可以使用此代碼來解決。 也許它會起作用。 因為有時某些情況可能會有所不同。 就我而言,我遇到了同樣的問題,但在使用之后。 我解決了我的問題..

$pdf->Image($image_path, 10, 10, 350, 450 ,''); 

嘗試為$pdf->Image()函數的 6 個參數提供空字符串,或者您可以提供文件擴展名(PNG 或 JPG)。 在我的情況下,空字符串''正在工作。 因為我正在裁剪圖像,因此圖像出現了一些錯誤。 所以這樣做之后我的問題就解決了,我用不同的圖像進行了測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM