为什么TCPDF忽略我的内联CSS?domPDFmPDF 格式

2022-08-30 19:21:28

我正在尝试使用TCPDF创建PDF文件。但是当我尝试将内联CSS插入HTML时,它显示了一个空白页!以下是我的几行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?


答案 1

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

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

  • 字体系列
  • 字体大小
  • 字体粗细
  • 字体样式
  • 颜色
  • 背景色
  • 文本修饰
  • 宽度
  • 高度
  • 文本对齐

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

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

TCPDF 文档

绝对值得尝试的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)可以在这里这里找到。

文档

希望它能帮助:)


答案 2

在我的情况下,服务器在双引号中添加了斜杠 - tcpdf在没有警告的情况下忽略了样式等属性。所以我通过条纹斜杠功能删除了斜杠


推荐