为什么TCPDF会忽略我的内联CSS?

时间:2012-07-09 12:38:04

标签: php css tcpdf

我正在尝试使用TCPDF创建PDF文件。但是当我尝试在HTML中插入内联CSS时,它显示的是空白页面!以下是我的几行HTML:

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 Justification示例”行。什么原因?或者它不支持内联CSS?

5 个答案:

答案 0 :(得分:73)

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

目前,仅支持以下CSS属性:

  • 字体家庭
  • 字体大小
  • 字体重量
  • 字体风格
  • 颜色
  • 背景颜色
  • 文字修饰
  • 宽度
  • 高度
  • 文本对齐

因此,请尝试删除其他属性,并告诉它是否有效。

此外,this是与TCPDF相关讨论的活跃论坛。

TCPDF Documentation

TCPDF的替代方案绝对值得尝试:

domPDF

主要功能

  • 处理大多数CSS 2.1和一些CSS3属性,包括@ import,@ media&amp; @page rules
  • 支持外部样式表,本地或通过http / ftp(通过fopen-wrappers)
  • 支持复杂的表格,包括row&amp;列跨度,分离&amp;折叠边框模型,单个单元格样式

domPDF Documentation

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

mPDF

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

mPDF Documentation

希望有所帮助:)

答案 1 :(得分:1)

我使用了您提供的代码,并使用内联CSS将“颜色”更改为“访问 - www.bookings.7sisters.in”。

https://www.box.com/s/520e9e1f4976802696ec

查看我的示例输出

答案 2 :(得分:1)

在我的案例服务器中添加了双引号的斜杠 - tcpdf忽略了没有警告的样式等属性。所以我用stripslashes函数删除了斜杠

答案 3 :(得分:1)

我找到了一个解决方法:

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

希望这有助于某人。

答案 4 :(得分:0)

没有PHP库完全支持CSS。即使对于较大的字符串,TCPDF的性能也相当好,性能也相对不错。查看示例,例如00600721061