Why does TCPDF ignore my inline CSS?

只愿长相守 提交于 2019-11-26 09:27:34

问题


I am trying to create a PDF file using TCPDF. But When I tried to insert inline CSS into the HTML, it\'s displaying a blank page! Here are a few lines of my 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.....

etc.

I am inserting the code in TCPDF example 39. But the output is only the TCPDF logo and the line \"Example of HTML Justification\". What\'s the reason? Or it does not support inline CSS?


回答1:


TCPDF has a very limited CSS support. It doesn't support all attributes.

Currently, only the following CSS attributes are supported:

  • font-family
  • font-size
  • font-weight
  • font-style
  • color
  • background-color
  • text-decoration
  • width
  • height
  • text-align

So try removing the other attributes, and tell if it works.

Also, this is an active forum for TCPDF related discussion.

TCPDF Documentation

Alternatives to TCPDF that are definitely worth trying:

domPDF

Key Features

  • handles most CSS 2.1 and a few CSS3 properties, including @import, @media & @page rules
  • supports external stylesheets, either local or through http/ftp (via fopen-wrappers)
  • supports complex tables, including row & column spans, separate & collapsed border models, individual cell styling

domPDF Documentation

Helpful tutorial: http://kyokasuigetsu25.wordpress.com/2011/07/14/how-to-use-dompdf-with-css/

mPDF

Examples (both PHP and generated PDF) can be found here and here.

mPDF Documentation

Hope it helps :)




回答2:


I used the code you provided, and changed the color to red for 'Visit - www.bookings.7sisters.in' using inline CSS.

See my sample output at https://www.box.com/s/520e9e1f4976802696ec




回答3:


in my case server added slashes to double quotes - tcpdf ignored attributes like style without warning. so I removed slashes by stripslashes function




回答4:


well there is a work around that I found :

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

hope this helps someone.




回答5:


There is no PHP library which supports fully CSS. TCPDF does quite nice job with relatively good performance even for larger strings. Check out examples e.g. 006, 007, 21 or 061.



来源:https://stackoverflow.com/questions/11395171/why-does-tcpdf-ignore-my-inline-css

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!