HtmlToPdfPostExecutorV2

Prev Next

Klassenname

com.ebd.hub.datawizard.postexec.HtmlToPdfPostExecutorV2

Beschreibung

Dieser Postexecuter konvertiert HTML-Dateien in PDF-Dateien. Die Konfiguration erfolgt über eine Properties-Datei.

Unterstützt werden zwei Konvertierungs-Engines: Aspose (Standard) und Flying Saucer. Die Engine wird über die Property engine gesteuert.

Profil konfigurieren

Verwenden Sie ein Profil ohne Mapping. Über einen Eingangsagenten vom Typ „Datei“ lesen Sie die HTML-Datei in Phase 1 ein und konfigurieren Sie einen Antwortweg vom Typ „Datei“ mit diesem Postexecuter in Phase 6. Als Inhalt des Antwortwegs wählen Sie „wie empfangen“.

Engine-Vergleich

Kriterium

Aspose (Standard)

Flying Saucer

CSS-Unterstützung

Umfangreich, inkl. weiter Teile von CSS3

Nur CSS 2.1

JavaScript / <script>-Tags

Nicht unterstützt

Nicht unterstützt

HTML-Quelle

Beliebiges HTML, auch aus externen oder wenig kontrollierten Quellen

Statisches, selbst erzeugtes HTML mit CSS-2.1-konformem Styling

Custom CSS (custom.css)

Nicht verfügbar

Verfügbar – wird nach dem originalen Styling angewendet

Lizenz

Kommerziell

Open Source

Property-Aktivierung

engine=aspose oder Property weglassen

engine=flying-saucer

Aspose empfiehlt sich, wenn das HTML aus externen oder schwer kontrollierbaren Quellen stammt, modernes CSS verwendet oder der Aufwand zur CSS-2.1-Konformität nicht gerechtfertigt ist.

Flying Saucer empfiehlt sich, wenn das HTML gezielt für diese Konvertierung erzeugt wird, vollständig unter eigener Kontrolle steht und CSS 2.1-konform gestaltet werden kann. Vor allem dann, wenn per custom.css eine genaue, reproduzierbare Ausgabe erforderlich ist.

Flying Saucer (ab Release 26.2)

Wird über engine=flying-saucer aktiviert. Es handelt sich um das Open-Source-Projekt Flying Saucer.  HINWEIS Ein ungültiger Wert für engine (d. h. weder aspose noch flying-saucer) führt zu einer Exception. Die Bibliothek übernimmt das gesamte CSS-Styling des ursprünglichen HTML-Codes, sofern sie es verarbeiten kann.

Anforderungen und Einschränkungen

  • Das HTML-Eingabedokument muss vollständig statisches HTML sein. <script>-Tags werden nicht ausgeführt und ignoriert.

  • Nur CSS 2.1 wird unterstützt. CSS3-Features (z. B. Flexbox, Grid, viele moderne Selektoren) werden nicht oder nur teilweise verarbeitet.

  • Das HTML-Dokument muss daher alle notwendigen Styles inline oder via <style>-Block mitbringen, die mit CSS 2.1 kompatibel sind.

Properties-Referenz

Property

Typ

Pflicht

Engine

Beschreibung

engine

String

Nein

Beide

Konvertierungs-Engine. Gültige Werte: aspose, flying-saucer. Standard: aspose (auch wenn Property fehlt). Ungültige Werte führen zu einer Exception.

format

String

Ja

Beide

Papierformat. Beispiele: A4, A3, LETTER.

orientation

String

Ja

Beide

Seitenausrichtung. Gültige Werte: PORTRAIT, LANDSCAPE.

margin.top

Float

Nein

Beide

Oberer Seitenrand in mm. Standard: 0.

margin.bottom

Float

Nein

Beide

Unterer Seitenrand in mm. Standard: 0.

margin.left

Float

Nein

Beide

Linker Seitenrand in mm. Standard: 0.

margin.right

Float

Nein

Beide

Rechter Seitenrand in mm. Standard: 0.

font.size

Float

Nein

Aspose

Schriftgröße in Punkt. Beispiel: 12.0.

font.linespacing

Float

Nein

Aspose

Zeilenabstand als Faktor. Beispiel: 1.0 = einfacher Zeilenabstand.

font.style

Integer

Nein

Aspose

Schriftstil. 0 = normal, 1 = fett, 2 = kursiv, 3 = fett + kursiv.

custom.css

String

Nein

Flying Saucer

Pfad zu einer CSS-Datei mit zusätzlichen Styles. Wird nach dem originalen HTML-Styling angewendet und überschreibt dieses bei Konflikten. Muss CSS 2.1-kompatibel sein.

Hinweis

Der Inhalt der custom.css-Datei wird nicht von Lobster geprüft oder supportet. Stellen Sie sicher, dass die Datei CSS 2.1-kompatibel ist. Andernfalls kann es zu unerwarteten Darstellungsproblemen kommen.

Beispiele

Beispiel 1: Aspose (Standard)

format=A4
orientation=LANDSCAPE
margin.top=3
margin.bottom=3
margin.left=3
margin.right=0
font.linespacing=1.0
font.size=12.0
font.style=1

Beispiel 2: Flying Saucer mit Custom CSS

engine=flying-saucer
format=A4
orientation=PORTRAIT
margin.top=10
margin.bottom=10
margin.left=15
margin.right=15
custom.css=/path/to/custom-overrides.css