Hallo zusammen,
ich versuche mich grade zum ersten Mal an dem Html2PdfConverter-Step (und HTML ).
Leider wird das < style >-Tag im resultierenden PDF nicht beachten. Unterstützt der Step das einfach nicht? Oder gibt es da was besonderes zu beachten?
Notfalls werde ich die Formatierung für jedes Element wiederholen, würde ich aber natürlich gerne vermeiden.
Beispiel HTML
<html>
<body>
<style>
table {
border: 10px solid black;
width: 100%;
border-collapse: collapse;
}
th {
border: 1px solid black;
width: 80%;
background-color:#daedf4;
border-bottom: 2px solid black;
}
td {
border: 1px solid black;
width: 50%;
border-bottom: 2px solid black;
}
</style>
<table>
<tr>
<th>Supplier:</th>
<td>SLV Gmbh</td>
</tr>
<tr>
<th colspan="2" style="border: 3px solid black;
width: 50%;
background-color:#71bbd4;">Product parameter:</th>
</tr>
</table>
</body>
</html>
Gruß
Gustav
Hallo Gustav,
der HTML2PDF Step unterstützt leider den Tag oder externe CSS Dateien nicht. Es sind nur einige inline Styles möglich, siehe auch:
Das HTML2PDF Step unterstützt nur wenige Basis-HTML und CSS Attribute. z.B. funktioniert font-style:italic; <td style="font-style:italic;">${row.get("company")!}</td> Man kann sich grob an der XSL-FO Referenz orientieren. Unter der Haube wird das HTML quasi in dieses XSLF-FO übersetzt. D.h. die Style-Attribute, die man verwenden darf, müssen die von XSL-FO sein. Die sehen oft genau so aus wie die von CSS, aber nicht immer. In einem anderen Thread hat ein Nutzer auch einiges hinbekommen . Gg…
Vielleicht kannst du als Workaround Freemarker verwenden, um die Styles zu definieren, z.B.:
<html>
<body>
<#assign tableStyle = 'style="border: 10px solid black;width: 100%;border-collapse: collapse;"' >
<#assign thStyle = 'style="border: 1px solid black;width: 80%;background-color:#daedf4;border-bottom: 2px solid black;"' >
<#assign tdStyle = 'style="border: 1px solid black;width: 50%;border-bottom: 2px solid black;"' >
<table ${tableStyle!}>
<tr >
<th ${thStyle!}>Supplier:</th>
<td ${tdStyle!}>SLV Gmbh</td>
</tr>
<tr>
<th colspan="2" ${thStyle!}>Product parameter:</th>
</tr>
</table>
</body>
</html>
Das ist nicht ganz so komfortabel wie im style Tag, aber vermutlich einfacher als alles in Inline -Styles zu packen
VG Torsten
Ok, dann weiß ich Bescheid. Ich werde vermutlich ein macro für eine Tabellenzeile schreiben, dann ist es glatt noch übersichtlicher als das initiale HTML.
Noch was ganz anderes zum HTML2PDF-Step:
Die Beschreibung von „strictValidation“ ist irreführend (oder schlichtweg falsch).
Vom Attributnamen würde man eigentlich erwarten, das Aktiviert == strikt und deaktivert == nachsichtiger bedeutet. So sagt ihr es auch im Thread.
Wer hat nun recht?
digitalslvde-gustavf:
Wer hat nun recht?
Du
Die deutsche Übersetzung ist falsch. Die englische ist korrekt. Wir fixen das.
1 „Gefällt mir“