HTML-Datei in PDF umwandeln…

…ist nicht schwer und an sich kein Problem. Es existieren hierfür eine Reihe von Anwendungen, die sich als Druckertreiber anhängen. Wenn man dann aus dem HTML- oder einem anderen Dokument (das über kein PDF-Export verfügt) ein PDF generieren möchte, dann tut man so als ob man drucken würde und wählt die entsprechende Anwendung als Drucker aus. Ist nichts besonderes und wir nutzen hier seit Jahren PrimoPDF um z. B. aus unseren älteren Word-Versionen (2002 und 2003) PDF-Dokumente zu genieren.

PrimoPDF

Dafür das es kostenlos ist, ist das Tool sehr leistungsfähig. Man kann aus verschiedenen Qualitätsstufen wählen, Meta-Angaben unterbringen und auch bestimmen ob das Dokument durch ein Passwort geschützt wird und ob der Leser das Dokument auch bearbeiten darf.

Aber …

…wie du es schon erahnen kannst, gibt es Probleme. Speziell wenn man direkt aus der HTML-Datei ein PDF erstellen möchte. Der Knackpunkt sind die Links. Als ich heute, die ersten Rückmeldungen bekam, dass in meinem PDF-Dokument keine Links anklickbar sind und ich mir das Dokument genauer anschaute, dämmerte es langsam und ich fand dann auch schnell Notizen, die ich vor mehr als zwei Jahren erstellt habe.

Was war passiert. PrimoPDF hat nur zum Teil die Links übernommen … leider nur visuell: sie waren blau und unterstrichen … waren aber leider nicht anklickbar. Allerdings war das nicht bei allen Verweisen der Fall sondern nur bei folgenden Links:

<a href="https://www.perun.net">WordPress und Webwork</a>

Bei Links wo die URL auch im Linktext auftauchte:

<a href="https://www.perun.net">www.perun.net</a>
<a href="https://www.perun.net">https://www.perun.net</a>

war alles kein Problem, diese Links funktionierten. Darüber hinaus wurden auch “normale” Textabschnitte, die über http:// oder www. verfügten in anklickbare Verweise verwandelt.

Jetzt könnte man auch sagen, “wo ist das Problem? Schreibe doch die Adressen einfach aus”. Mit Hilfe von CSS kann man mit folgender Regel:

a[href]:after {content:" ["attr(href)"]";}

sogar automatisch alle URLs der eingebundenen Verweise ausgeben lassen. Bei kurzen Adressen kein Problem, aber bei längeren Adressen (eigentlich bei allen Deeplinks) leidet die Lesequalität massiv. URL-Verkürzer sind hierbei auch keine wirkliche Lösung … sehr viele Leute klicken nicht gerne auf Links, wo sie nicht wissen wo sie hinführen.

Suche nach einer Alternative

Wer jetzt denkt “na gut, dann kann es PrimoPDF halt nicht, aber dafür findest du schnell Ersatz” der täuscht sich. Ich habe mehrere Alternativen ausprobiert (u.a. FreePDFXP und pdf995) und es gab das gleiche Problem. Einige Anwendungen wiederum ließen sich nicht starten (FoxTab), akzeptierten keine lokalen Dateien (7-PDF → kostenpflichtig) oder HTML-Dateien (PrimoPDF-Online).

Gelöst habe ich das ganze dann in dem ich in LibreOffice das HTML-Dokument aufgemacht habe und daraus den PDF-Export gestartet habe. Aber eine ideale Lösung ist das nicht. Es ist ein zusätzlicher Schritt und ich musste bei etwa 7 Bildern anpassen, da die nicht ordentlich übernommen bzw. exportiert wurden.

PDF = Pseudo Document Format?

Mir ist schon bewusst, dass man den vollen Funktionsumfang bekommt wenn man Adobe Acrobat kauft, aber um funktionierende Hyperlinks und um evtl. noch einzustellen, dass das Dokument nicht verändert werden kann, knapp 400 Euro abzudrücken, fände ich zu viel des Guten. Zumal auch da noch zusätzliche Erweiterungen notwendig sind.

Albern finde ich auch, dass Ergebnisse nicht auf allen Plattformen gleich sind, siehe die letzten vier Kommentare. Empfohlen wurden mir auch zwei PHP-Skripte, fpdf und html2pdf, aber die habe ich noch getestetet.

Wer also eine Alternative kennt, einfach Bescheid sagen. 🙂

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

16 Kommentare

  1. Was ist denn mit dem guten alten PDFCreator? Kann der das vielleicht?

    Laut Wikipedia-Seite soll er es: “Weblinks werden [..] in das PDF-Dokument integriert.”

    Basiert auf Ghostscript, aber die Bibliotheken sind integriert. Du brauchst also Ghostscript nicht extra installieren.

    1. @Torsten,

      ja, PDFCretor kann zwar Hyperlinks erstellen, aber auch nur wenn die URL als Linkname erscheint … also so wie PrimoPDF auch.

  2. Jetzt erinnere ich mich wieder …

    Das kann nicht funktionieren. Druckertreiber interpretieren “pdfmark” nicht und somit sind deine Links tot. Die Links mit http bzw. www werden auch nicht durch das PDF-Programm erstellt, sondern durch den Reader erkannt. Mit einer alten Version vom Reader hättest Du also auch keine Links mehr (die automatische Link-Erkennung wurde beim Adobe Reader erst mit irgendeiner späteren Version hinzugefügt).

    Hier eine Diskussion von mir (zodiac) mit dem Programmierer von Word2PDF über das Thema.

    Spannende Frage, ob es ein Programm gibt, welches es geschafft hat, die Links über “pdfmark” wieder einzubauen.

  3. Ich hätt jetzt einfach gesagt, öffne das html mit Office (egal ob MS oder OO) und speichere es als PDF?! – nicht drucken, sondern speichern als! Mit MS Office Mac 2010 geht auch ein Copy&Paste ohne Designverlust

  4. Mit “PDF ausdrucken” wird das wohl nicht möglich sein, da darüber ja keine weiteren Infos vom Inhalt überliefert werden. Wenn man aber ein PDF aus den entsprechenden Programmen heraus erstellt (Acrobat bindet sich z.B. auch als Add-In in diverse Officeprodukte ein oder Konvertiert auch DOC zu PDF), dann liest das Programm den Inhalt und kann Links, Kapitel, Lesezeichen etc. erstellen.

    Bei PDF-Erstellungsprogrammen, die sich nur als Drucker tarnen, funktioniert das natürlich nicht.

    1. @Pascal, @Torsten,

      danke für den Hinweis. Hätte ich das vorher gewusst, dass man das über die Druckerausgabe nicht machen kann, hätte mir das viel zeit gespart.

      Aber anscheinend können auch einige Anwendungen (z. B. Calibre) auch keine Hyperlinks ausgeben.

  5. Moin,

    ich habe es zwar noch nie getestet aber gehört das man mit dem java Tool calibre aus websites ebooks erzeugen kann.

    Vielleicht klappts ja.

    Gruß

  6. Also ich habe relativ gute Erfahrungen mit 7pdf gemacht. In der Ausgangsversion ist die Software auch kostenfrei für die Extra Funktion des Exportierens einer kompletten hmtl file zahlt man allerdings auch “nur” 14,95.

    Mehr Infos hier:7 PDF

    vielleicht kann dir das ja helfen.

    lg
    Thomas

    1. @Thomas,

      wie gesagt, ich habe auch 7 PDF schon getestetet gehabt und lokale Dateien werden nicht umgewandelt.

  7. Es geht mit dem Opera-Add-on Web2PDFConvert.

    Nach der Installation findet man einen Button in der Symbolleiste. Wenn man darauf klickt, kommt die Aufforderung, dass man einen Seiten-Refresh machen soll. Daraufhin wird die Seite in einer Art Druckversion angezeigt, und nun drückt man nochmals den Button.

    Die genertierte PDF-Datei sieht trotzdem nicht wie eine Druckversion der Webseite aus, sondern wie die normale Bildschirmausgabe. Alle Links sind klickbar, auch diejenigen ohne http oder www im Linktext. Allerdings wird in die rechte untere Ecke jeder PDF-Seite das Logo des Dienstes (mit Link) eingepflanzt.

    Wer den Webbrowser Opera nicht mag, kann den Dienst auch direkt im WWW aufrufen: web2pdfconvert.com. Das Ergebnis ist dasselbe.

Kommentare sind geschlossen.