2010-11-10 155 views
9

我正在使用TCPDF庫版本:5.9.011。我試圖執行PDF格式的HTML佈局。對於我與例如試圖與site帶特殊字符的TCPDF HTML顯示空的PDF文件

$html = '<h1>HTML Example</h1> 
<h2>List</h2> 
Some special characters: &lt; € &euro; &#8364; &amp; è &egrave; &copy; &gt; \\slash \\\\double-slash \\\\\\triple-slash 
'; 
// output the HTML content 
$pdf->writeHTML($html, true, false, true, false, ''); 

//Close and output PDF document 
$pdf->Output('example_006.pdf', 'I'); 

顯然發現生成的PDF只有默認的頁眉和頁腳與中間空白的內容提供。

但是,如果我刪除特殊字符,如:在$html

回答

0

指定

$html = '<h1>HTML Example</h1> 
<h2>List</h2> 
Some special characters: 
'; 

PDF獲取其內容中您正在使用的TCPDF.Follow步驟最新版本提到here。它應該工作

+0

我只遵循相同的步驟。但沒有運氣。 – 2010-11-10 07:31:13

+0

鏈接現已停止。 – beerwin 2012-10-26 12:03:02

+1

@ beerwin http://www.tcpdf.org/examples/example_006.phps – NullPointerException 2013-01-30 15:24:26

4

你需要改變的構造,設置UTF-8 FLASE,改變像下面新charshet:

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

在上面的例子中,我設置編碼ISO-8859-1,而不是UTF-8和我改變爲假。

Krish

+0

將TCPDF構造函數的$ unicode參數設置爲false,並將$ encoding參數設置爲'ISO-8859-1'或其他字符映射 – Elisa 2011-05-26 07:17:29

9

由於已經按您需要改變的構造,設置UTF-8 FLASE和更換新charshet像下面其他人mentionned:

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

只有改變這不會總是得到預防一個空白頁。要防止出現空白頁面:將字體類型更改爲'helvetica'或其他。

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

它的工作原理!

10

前行$ PDF - >的WriteHTML

$html = utf8_decode($html); 

也許

$html = utf8_encode($html); 
+0

utf8_decode欺騙我!謝謝,真是令人沮喪,沒有錯誤信息來指導我 – 2016-11-18 14:07:09

+0

$ output = utf8_encode($ output);解決我的問題!謝謝 – NoBody 2016-12-13 17:32:40

0

我也有類似的問題,我修復了所有這樣:

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

,並在結束:

$pdf->writeHTMLCell(0, 0, '', '', utf8_decode($html), 0, 1, 0, true, '', true); 
0

我也有類似的問題。我有一個從多個列表和勾號符號作爲項目符號的HTML文件生成PDF。

我嘗試了所有這些解決方案,但都沒有工作,我不得不使用一張照片,但它減慢了這個過程。 最後我想到了這個:http://www.tcpdf.org/examples/example_055.pdf,最後有一個帶有很多符號的「zapfdingbats」字體。

所以我把我所有的打勾圖片都換成了<span>3<span>,並且把這個元素的字體設置爲font-family="zapfdingbats",它工作起來。它有點冒險,但是效果很好。

0

你可以把文本中的變量,並使用PHP函數轉換

例如爲UTF-8卡拉科特

$html = '<h1>HTML Example</h1> 
<h2>List</h2> 

Some special characters: € è ù à \\ \\\ 
'; 
// output the HTML content 
$pdf->writeHTML(utf8_encode($html), true, false, true, false, ''); 

//Close and output PDF document 
$pdf->Output('example_006.pdf', 'I'); 

其它功能使用php reference guide

0

對於我來說,這個固定問題:

$this->pdf->AddPage('P', 'A4'); 
$this->pdf->deletePage($this->pdf->getNumPages()); 

我希望它會hel p someone