为什么TCPDF忽略我的内联CSS


Why does TCPDF ignore my inline CSS?

我正在尝试使用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示例39中插入代码。但是输出只有TCPDF徽标和行"HTML对齐示例"。原因是什么?或者它不支持内联CSS?

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

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

  • 字体系列
  • 字体大小
  • 字体重量
  • 字体样式
  • 颜色
  • 背景色
  • 文字装饰
  • 宽度
  • 高度
  • 文本对齐

因此,尝试删除其他属性,并判断它是否有效。

此外,这是一个活跃的论坛,用于与TCPDF相关的讨论。

TCPDF文档

TCPDF的替代品绝对值得一试:

domPDF

主要功能

  • 处理大多数CSS2.1和一些CSS3属性,包括@import、@media&页面规则
  • 支持外部样式表,可以是本地的,也可以是通过http/ftp(通过fopen包装)
  • 支持复杂的表,包括row&列跨度,单独&折叠边界模型,单个单元格样式

domPDF文档

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

mPDF

示例(PHP和生成的PDF)可以在这里和这里找到。

mPDF文档

在我的例子中,服务器在双引号中添加了斜杠-tcpdf忽略了style等属性而没有发出警告。所以我通过stripesashes函数

删除了斜线

我发现了一个解决方案:

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

希望这能帮助到别人。

我使用了您提供的代码,并使用内联CSS将"Visit-www.bookings.7sister.in"的颜色更改为红色。

请参阅我的示例输出https://www.box.com/s/520e9e1f4976802696ec

没有完全支持CSS的PHP库。TCPDF做得很好,即使对于较大的字符串也有相对良好的性能。查看示例,例如006、007、21或061。