2012-07-09 22 views
16

我正在嘗試使用TCPDF創建PDF文件。但是當我試圖將內聯CSS插入到HTML中時,它顯示一個空白頁面!這裏是我的HTML的幾行:爲什麼TCPDF忽略我的內聯CSS?

pdf->AddPage(); 

// set font 
$pdf->SetFont('helvetica', 'B', 20); 

$pdf->Write(0, 'Example of HTML Justification', '', 0, 'L', true, 0, false, false, 0); 

// create some HTML content 
$html = ' 
<div id="wrapper" style="width:900px;height:auto;margin:0 auto;"> 
<div id="header" style="width:900px;height:180px;border-bottom:2px solid #5a5a5a;"> 
<div id="img" style="width:174px;height:87px;position:relative;top:10px;left:350px;"><img src="Untitled Document_files/logoticket.png" /></div> 
<div id="text" style="width:250px;position:relative;left:315px;top:20px;font-family:Arial, Helvetica, sans-serif;font-weight:bold;font-size:14px;">E-TICKET/RESERVATION VOUCHER</div> 
<div id="text2" style="width:200px;position:relative;left:345px;top:40px;font-family:Arial, Helvetica, sans-serif; 
font-weight:bold;font-size:12px;">Visit - www.bookings.7sisters.in</div> 
</div> 
<div id="mainContent"> 
<div id="icon" style="width:600px; 
height:37px; 
position:relative; 
left:190px; 
top:20px;"> 
<img src="Untitled D..... 

我插入代碼TCPDF example 39。但輸出結果只是TCPDF標誌和「HTML正確性示例」這一行。什麼原因?或者它不支持內聯CSS?

回答

2

您是否寫過writeHTML(...)零件?

+0

是的,我添加了'$ pdf-> writeHTML($ html,true,0,true,true);' – AssamGuy 2012-07-09 13:00:36

68

TCPDF的CSS支持非常有限。它不支持所有屬性。

目前,只有以下CSS屬性的支持:

  • FONT-FAMILY
  • 字體大小
  • 字體重量
  • 字體風格
  • 顏色
  • 背景 - 顏色
  • 文字裝飾
  • 寬度
  • 高度
  • 的text-align

所以嘗試刪除其他屬性,並告訴它是否工作。

另外,this是TCPDF相關討論的活躍論壇。

TCPDF Documentation

替代TCPDF是絕對值得嘗試:

domPDF

主要特點

  • 處理大多數CSS 2。1個幾個CSS3屬性,包括@import,@media & @page規則
  • 支持外部樣式表本地或通過HTTP/FTP(通過的fopen-包裝)
  • 支持複雜的表,包括行&列跨度,獨立&倒塌的邊界模型,單個細胞造型

domPDF Documentation

有用的教程:http://kyokasuigetsu25.wordpress.com/2011/07/14/how-to-use-dompdf-with-css/

mPDF

可以找到示例(包括PHP和生成的PDF)herehere

mPDF Documentation

希望它能幫助:)

+0

鏈接被禁止 – 2016-07-05 21:47:42

+0

我覺得應該允許鏈接到官方文檔。 – catbadger 2016-09-14 23:49:11

1

我用你提供的代碼,並改變顏色爲紅色「訪問 - www.bookings.7sisters.in」使用內聯CSS。

見我的樣本輸出在我的情況下,服務器加斜槓https://www.box.com/s/520e9e1f4976802696ec

1

雙引號 - 般的風格TCPDF忽略的屬性沒有警告。所以我刪除斜線通過的stripslashes功能

1

也有一個解決辦法,我發現:

<h1>Heading<small>Text(is smaller than heading.)</small></h1> 

希望這可以幫助別人。