impressedlogo
Impressed - Produktnews: callas pdfChip

pdfChip

Produktnews vom 21.11.2024

Die unmögliche Verbindung von PDF und HTML

Original-Blog von David van Driessche, callas software gmbh: The impossible marriage of PDF and HTML

Es ist schwer vorstellbar, dass zwei so unterschiedliche Dateiformate wie PDF und HTML existieren.

Das Portable Document Format (PDF) wurde als Seitenbeschreibungssprache entwickelt. Es konzentriert sich ganz auf das visuelle Erscheinungsbild der einzelnen Seiten. Struktur ist - für PDF - nicht wichtig. Das Dateiformat hat kein Konzept für ein „Wort“, eine „Textzeile“ oder einen „Absatz“, geschweige denn für komplexere Strukturen. Entscheidend ist, dass alle Seitenelemente originalgetreu an der richtigen Stelle wiedergegeben werden können.

Die HyperText Markup Language (HTML) ist das genaue Gegenteil davon. Bei HTML geht es um die Struktur des Inhalts, nicht um seine genaue Wiedergabe. Wie der Inhalt aussehen wird und wo er wiedergegeben wird, ist weitgehend unerheblich. Oder besser noch, es sollte nicht berücksichtigt werden.

Der Unterschied liegt darin, wie beide Formate verwendet werden. HTML wurde für die Verwendung im Internet entwickelt, wo es keine „Seiten mit fester Größe“ gibt, so dass es sich an die Darstellung in verschiedenen Umgebungen anpassen muss. PDF hingegen ging von dem Konzept einer Seite mit fester Größe aus, da es für die elektronische Dokumentation, die Verwendung von Inhalten mit fester Größe im Internet und später für den Druck bestimmt war.

Verwendung von HTML zur Erstellung von PDF?

Diese beiden Formate müssen also völlig inkompatibel sein, oder? Nun... nicht wirklich. Sehen Sie sich das pdfChip von callas an, das HTML verwendet, um druckfertige PDF-Dateien zu erzeugen. Wie ist das möglich, und warum sollten Sie das tun?

Beginnen wir damit, warum Sie es tun sollten. HTML ist vielleicht eher auf die Struktur als auf die Darstellung fixiert, aber das dazugehörige CSS-Format ist natürlich genau darauf ausgerichtet. Es ist also durchaus möglich, HTML-Inhalte auf präzise Weise zu formatieren. Außerdem sind HTML-Engines (die Formatierungs-Engine hinter modernen Webbrowsern wie Safari, Chrome, Edge...) unglaublich flexibel und schnell.

Wenn Sie also z. B. PDF-Dateien aus Informationen in einer Datenbank erzeugen müssen, ist die Verwendung der Engine eines Webbrowsers und einer HTML-Vorlage eine sehr gute Wahl. HTML ist viel einfacher zu schreiben (und zu pflegen!) als benutzerdefinierter Softwarecode unter Verwendung einer Low-Level-PDF-Bibliothek. Noch besser ist, dass eine solche HTML-Engine auch JavaScript unterstützt. Dies ermöglicht vollständig dynamische Vorlagen oder Vorlagen, die vorhandene Web-JavaScript-Bibliotheken wie JQuery verwenden.

Aber HTML ist nicht für den Druck gedacht!

Was sind nun die Unterschiede zwischen HTML und PDF? HTML ist nicht seitenbasiert, unterstützt nicht viele Druckfarbräume (wie CMYK, Schmuckfarben...) und weiß nichts über Überdrucken, Output Intents, PDF/X...

Es gibt verschiedene Möglichkeiten, diese Einschränkungen zu überwinden. pdfChip erweitert HTML, CSS und JavaScript, um druckspezifische Inhalte zu ermöglichen. Ein kleines Beispiel ist die Möglichkeit, in CSS die Farbe Rot für Absätze zu definieren:

p {

color: red;

}

Wenn Sie eine pdfChip-Vorlage erstellen, können Sie das einstellen:

p {

color: -cchip-cmyk( “callas Red”, 0, 1, 1, 0 );

}

Dies würde dazu führen, dass pdfChip Elemente erzeugt, die eine Schmuckfarbe verwenden, die rot aussieht und „callas Red“ genannt wird. Die Anzahl der Ergänzungen zu HTML und CSS sind relativ gering, aber sie ermöglichen es pdfChip dennoch, vollständig konforme PDF/X-Inhalte zu erzeugen.

Und ja, das Schreiben von HTML und CSS für pdfChip unterscheidet sich zweifellos vom Schreiben von Internet-Inhalten, aber der Einstieg in selbst komplexe HTML-Vorlagen für pdfChip ist für jemanden mit HTML-Erfahrung ein relativ schneller Prozess. Das wäre nicht der Fall, wenn eine Low-Level-PDF-Bibliothek verwendet werden müsste.

Zurück zur Übersicht