2013-01-17 115 views
18

我正在使用tcpdf從HTML生成PDF。一切工作正常,當我在計算機上查看PDF時,我可以看到它很好,但由於某種原因,當我在iPhone上查看PDF時,它顯示爲空白。我所能看到的是我創建的包含值的邊框,但沒有顯示值。使用tcpdf創建PDF在iphone上顯示空白

這裏是我的代碼

require_once('/tcpdf/tcpdf/config/lang/eng.php'); 
require_once('/tcpdf/tcpdf/tcpdf.php'); 
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); 
$pdf->setLanguageArray($l); 
$pdf->SetFont('dejavusans', '', 10); 
$pdf->AddPage(); 
$html = file_get_contents('http://www.website.com/invoice.php?invoice_id='.$invoice_id); 
$pdf->writeHTML($html, true, false, true, false, ''); 
$pdf->lastPage(); 
$pdf->Output('/html/admin/emailattachements/invoice.pdf', 'F'); 

在最後一行。當我稍後用電子郵件腳本抓取它並將其發送給客戶時,我將PDF複製到該目錄。

Blank PDF

編輯:解決

我發現這是我用產生PDF的字體。 iPhone的無法讀取dejavusans :)我把它改爲「次」,它工作正常

編輯:更新

由於這篇文章,我不得不創建更多的PDF與TCPDF,雖然我可以」噸真的解釋爲什麼有些字體不而其他工作,我最近在http://www.tcpdf.org/fonts.php應用於一些建議過和應用

$fontname = $pdf->addTTFfont('/path-to-font/DejaVuSans.ttf', 'TrueTypeUnicode', '', 32); 

通過手動添加的字體,並設置字體文件的路徑和上傳文件手動我能以獲得現有的字體沒有工作和執行讓他們工作。

+3

嗯......你的代碼是什麼,所以我們可以重複這個工作。 – Duniyadnd

+0

將我的代碼添加到原始問題 –

+1

現在我看它不知道是否是字體 –

回答

0

檢查您使用的字體類型,就像html一樣,但不會回退。

0

使用靜態文本創建PDF並進行檢查。

2

更改如下行:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 

$pdf->SetFont('dejavusans', '', 10); 

要:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false); 

$pdf->SetFont('helvetica', '', 10, '', true); 

再檢查。

1

不知道它是如何在沒有AddFont方法的情況下工作的,但是我遇到了同樣的問題並且添加了第四個參數$ subset = false修復了它。

$ subset(mixed)if true嵌入字體的一個子集(僅存儲與所用字符相關的信息 );如果虛假嵌入完整 字體;如果'default'使用使用 setFontSubsetting()設置的默認值。此選項僅適用於TrueTypeUnicode 字體。如果您想讓用戶更改文檔,請將此參數設置爲false。如果您是字體的子集,那麼接收 您的PDF的人需要使用相同的字體才能更改 您的PDF。 PDF的文件大小也會更小,因爲 僅嵌入部分字體。

$pdf->AddFont('dejavusans', '', 'dejavusans', false); 
$pdf->AddFont('dejavusans', 'B', 'dejavusans', false); 

$pdf->SetFont('dejavusans', '', 10); 

dejavusans修正了一些問題與多字節字符所以不可能簡單地更改黑體。通過做出這一改變,我們發現PDF的尺寸增加了一倍以上。

這與@ user3548394有點相同,但只需進行一次該更改即可。

+1

哇的大小超過雙倍16kb至734kb –

相關問題