Torsten: HTML -> PDF Klasse gesucht

Hi!

Ich suche nach einer Klasse die mir HTML-Code in eine PDF umwandelt. Und zwar sollte sie dabei wenigstens gut mit CSS(2) und HTML4 umgehen können. Nichts kompliziertes also. Ich möchte nur eine Rechnung als PDF anbieten.

Meine Versuche waren bisher html2pdf und dompdf. Das erste schafft schonmal keine Hintergrundfarben, hat Probleme mit Schriftgrößen aber stellt die Tabellen zumindest sonst richtig dar. DOMPDF scheint viel "robuster" zu sein was CSS-Angaben angeht und hat eigentlich alles so verarbeitet wie ich es erwartet habe, aber es stellt Tabellen falsch dar. Die Reihenfolge von Tabellenkopf, -Körper und Fuß werden nämlich so angezeigt wie sie im Quelltext stehen (Kopf, Fuß, Körper).

Gibt es eine Klasse die "vernünftig" funktioniert? Welche? Oder wie wird sowas sonst gelöst? Andere Sprache verwenden?

Danke schonmal für eure Hilfe!

  1. Ich nutze "html2pdf"

    1. Ich nutze "html2pdf"

      Und wie schaffst du es da Hintergrundfarben per CSS zu verteilen? Bei mir werden diverse Angaben schlichtweg ignoriert. :/

      1. z.B. so :)

          
          
        <page backtop="30mm" backbottom="0mm" backleft="0mm" backright="0mm">  
              <page_header>  
        	  <div style="border-bottom: 4px solid #BEF47F;">  
        		<img style="width: 770px;" src="../media/gfx/a01.jpg" /></div>  
              </page_header>  
              <page_footer>  
        <div style="padding-top: 15px; background: #EAEAEA; padding-bottom: 15px; width: 100%; border-top: 4px solid #BEF47F; display: block; font-size: 14px; text-align: center;">Hier kommt das Impressum rein</div>  
              </page_footer>  
          
          
        
        
        1. z.B. so :)

          Himmel, inline-styles...
          Ok, die Klasse kann td aber nicht thead Hintergrundfarben zuweisen. Mit Breitenangaben hat sie auch so ihre Probleme. Irgendwie ist es ein graus damit zu arbeiten aber ich habe meine Rechnung jetzt zumindest so hinbekommen wie ich wollte.

          Dank dir trotzdem für deine Hilfe!

  2. Ich suche nach einer Klasse die mir HTML-Code in eine PDF umwandelt.

    Lass mal das HTML weg. Ich mache das so:

    Vorarbeiten:

    • Rechnung mit LibreOffice erstellen dabei Platzhalter lassen
    • als LaTeX exportieren.
    • LaTeX-Datei mit einem Editor verbessern. Speichern.

    Für jede Rechnung:

    • Latex-Datei mit PHP-Öffnen
    • Mit PHP Platzhalter ersetzen
    • LateX temporär als $tmpfile_tex speichern;
    • mit pdflatex PDF-Datei erzeugen
    • PDF-Datei an Ziel verschieben
    • header senden
    • PDF-Datei senden
    • aufräumen

    Jörg Reinholz

    1. Moin

      Für jede Rechnung:

      • Latex-Datei mit PHP-Öffnen
      • Mit PHP Platzhalter ersetzen
      • LateX temporär als $tmpfile_tex speichern;
      • mit pdflatex PDF-Datei erzeugen
      • PDF-Datei an Ziel verschieben
      • header senden
      • PDF-Datei senden
      • aufräumen

      Das mache ich ähnlich. Nur nutze ich Fpdf. Vorlage in Php erstellen (kann milimetergenau geschehen), dann mit Daten füllen und entsprechend ausgeben lassen.

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
      ### Henry L. Mencken ###
      -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
      ### Viktor Frankl ###
      ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    2. Lass mal das HTML weg. Ich mache das so[..]

      Danke für den Hinweis! Das werde ich mir mal genauer anschauen. Ich hatte bisher nur noch nie etwas mit Latex zu tun. Den Vorschlag von Bobby werde ich mir auch noch genauer anschauen.
      Danke euch!

    3. Hallo,

      • mit pdflatex PDF-Datei erzeugen

      Dieses Vorgehen klingt sehr komfortabel! Bekommt man pdflatex auch auf einem "normalen" shared Webhostingpaket ohne SSH-Zugang zum Laufen (Upload als binary und PHP exec) oder gibt es da viele Abhängigkeiten?

      Vielen Dank, viele Grüße
      Basti

      1. Dieses Vorgehen klingt sehr komfortabel! Bekommt man pdflatex auch auf einem "normalen" shared Webhostingpaket ohne SSH-Zugang zum Laufen (Upload als binary und PHP exec) oder gibt es da viele Abhängigkeiten?

        Es dürfte viele Abhängigkeiten geben.
        texlive dürfte das Paket sein. Ich kann es gerade nicht überprüfen, weil ubuntu 14.04 LTS erschienen ist und die Server überlastet sind. Die liefern derzeit nicht mal 20kB/s.

        Jörg Reinholz

      2. Hallo,

        • mit pdflatex PDF-Datei erzeugen

        Dieses Vorgehen klingt sehr komfortabel! Bekommt man pdflatex auch auf einem "normalen" shared Webhostingpaket ohne SSH-Zugang zum Laufen (Upload als binary und PHP exec) oder gibt es da viele Abhängigkeiten?

        So. Die Antwort von einem Ubuntu-Desktop im Auslieferungsszustand:

        Die folgenden zusätzlichen Pakete werden installiert:
          fonts-lmodern fonts-texgyre latex-beamer latex-xcolor libptexenc1
          libruby1.9.1 libyaml-0-2 lmodern luatex pgf prosper ps2eps ruby ruby1.9.1
          tex-common tex-gyre texlive-base texlive-binaries texlive-extra-utils
          texlive-font-utils texlive-fonts-recommended texlive-fonts-recommended-doc
          texlive-generic-recommended texlive-latex-base texlive-latex-base-doc
          texlive-latex-recommended texlive-latex-recommended-doc texlive-luatex
          texlive-pstricks texlive-pstricks-doc tipa
        Vorgeschlagene Pakete:
          ri ruby-dev ruby1.9.1-examples ri1.9.1 graphviz ruby1.9.1-dev ruby-switch
          debhelper perl-tk chktex fragmaster xindy latexdiff lacheck latexmk dvidvi
          purifyeps dvipng psutils
        Die folgenden NEUEN Pakete werden installiert:
          fonts-lmodern fonts-texgyre latex-beamer latex-xcolor libptexenc1
          libruby1.9.1 libyaml-0-2 lmodern luatex pgf prosper ps2eps ruby ruby1.9.1
          tex-common tex-gyre texlive texlive-base texlive-binaries
          texlive-extra-utils texlive-font-utils texlive-fonts-recommended
          texlive-fonts-recommended-doc texlive-generic-recommended texlive-latex-base
          texlive-latex-base-doc texlive-latex-recommended
          texlive-latex-recommended-doc texlive-luatex texlive-pstricks
          texlive-pstricks-doc tipa
        0 aktualisiert, 32 neu installiert, 0 zu entfernen und 676 nicht aktualisiert.
        Es müssen 290 MB an Archiven heruntergeladen werden.
        Nach dieser Operation werden 487 MB Plattenplatz zusätzlich benutzt.
        Möchten Sie fortfahren? [J/n]