web-dev-qa-db-fra.com

Pourquoi TCPDF ignore-t-il mon CSS en ligne?

J'essaie de créer un fichier PDF à l'aide de TCPDF. Mais lorsque j'ai essayé d'insérer du CSS intégré dans le code HTML, une page vierge s'affiche! Voici quelques lignes de mon code 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.

J'insère le code dans exemple TCPDF 39 . Mais le résultat est uniquement le logo TCPDF et la ligne "Exemple de justification HTML". Quelle est la raison? Ou il ne supporte pas CSS en ligne?

17
AssamGuy

TCPDF a un support CSS très limité. Il ne supporte pas tous les attributs.

Actuellement, seuls les attributs CSS suivants sont pris en charge:

  • famille de polices
  • taille de police
  • poids de la police
  • le style de police
  • couleur
  • couleur de fond
  • texte-décoration
  • largeur
  • la taille
  • aligner le texte

Essayez donc de supprimer les autres attributs et de dire si cela fonctionne.

En outre, this est un forum actif pour les discussions relatives à TCPDF.

Documentation TCPDF

Des alternatives à TCPDF qui valent vraiment la peine d'être essayées:

domPDF

Principales caractéristiques

  • gère la plupart des propriétés CSS 2.1 et quelques propriétés CSS3, y compris les règles @import, @media & @page
  • supporte les feuilles de style externes, soit localement, soit via http/ftp (via fopen-wrappers)
  • prend en charge les tableaux complexes, y compris les étendues de lignes et de colonnes, les modèles de bordure séparés et réduits, le style de cellule individuelle

Documentation domPDF

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

mPDF

Des exemples (à la fois PHP et PDF généré) peuvent être trouvés ici et ici .

Documentation mPDF

J'espère que ça aide :)

71
abhshkdz

J'ai utilisé le code que vous avez fourni et modifié la couleur en rouge pour "Visit - www.bookings.7sisters.in" à l'aide de CSS intégré.

Voir mon exemple de sortie sur https://www.box.com/s/520e9e1f4976802696ec

1

bien il y a un travail autour que j'ai trouvé:

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

espérons que cela aide quelqu'un.

1
Dray

dans mon cas, le serveur a ajouté des barres obliques aux guillemets - tcpdf a ignoré les attributs tels que style sans avertissement. donc j'ai enlevé les barres obliques par la fonction striplashes

1
Michal Wrd

Il n'y a pas de bibliothèque PHP qui supporte complètement CSS. TCPDF fait un travail plutôt agréable avec des performances relativement bonnes, même pour les grandes chaînes. Découvrez des exemples, par exemple. 006 , 007 , 21 ou 061 .

0
lubosdz