2009-07-27 2 views
6

Ich habe CSS und HTML, die ich in PDF konvertieren werde. Ich möchte auf jeder Seite eine Kopfzeile angeben, die in der PDF-Datei auf jeder neuen Seite wiederholt wird.CSS zu PDF, mit THEAD für die Wiederholung Header auf der neuen Seite

Ich weiß, dass ich THEAD verwenden kann, um die Kopfzeile anzugeben, gibt es jedoch einen kostenlosen HTML-zu-PDF-Konverter, der das THEAD-Tag respektiert?

Wenn nicht, gibt es Alternativen? nur

Dank ...

+0

Siehe auch diese Frage http://stackoverflow.com/questions/274149/ – Eero

Antwort

2

Wenn dies für eine Zeit, vielleicht können Sie einfach die Seite in einem Browser und PDF-Export aus dem Druckdialog öffnen.

So behandelt der Browser die korrekte Anzeige der THEAD-Elemente und Sie erhalten Ihre PDF-Ausgabe.

+0

Interessante Idee, ich werde das untersuchen. Vielen Dank. – littleK

2

Ich mag wirklich Prince XML. Es respektiert die Platzierung und unterstützt eine Menge CSS. Es ist zumindest für den persönlichen Gebrauch kostenlos.

+0

Ich habe eigentlich viel in Prince XML hineingeschaut, und es ist sehr nett. Letztendlich müsste ich jedoch eine Serverlizenz ($ 4000) kaufen, was ziemlich viel ist. Ich suche nach einer Open-Source-Alternative. Vielen Dank! – littleK

2

Für thead auf jeder Seite zu wiederholen, die mögliche Lösung ist es Stil zu setzen:

@media print { 
    thead { 
    display: table-header-group; 
    } 
} 

Dies löst das Problem in den meisten Browsern, aber es ist immer noch ein Problem mit Tabellenzeilen auf Seitenumbruch unterteilt, Sie brechen in der Mitte.

Obwohl ich nicht weiß, ob solche Stil in html2pdf Konvertern respektiert wird, gibt es eine Möglichkeit, diese Anforderung an Entwickler von Open Source-Konverter zu melden.

4

Der Open-Source-Konverter Flying Saucer xhtmlrenderer html-to-pdf respektiert das TheAD-Tag seit Release R8 (April 2009). Zum Wiederholen des THEAD auf jeder Seite der PDF-Ausgabe, fügen Sie folgendes zu Ihrem CSS:

 table { 
      -fs-table-paginate: paginate; 
     } 
+0

wenn ich die cs hinzufügen -fs-table-paginate: paginate; warum meine Tabelle css: border-collapse: collapse invalid; – FishGel

3

Blick auf WeasyPrint, es ist Open-Source und wandelt HTML/CSS in PDF. (Ich bin der Entwickler.)

WeasyPrint wiederholt <thead> und <tfoot> auf jeder Seite, aber das ist nur für Tabellen. Für eine korrekte Seitenköpfe, können Sie die ausgelagerten Medienmodul von CSS3 verwenden (unterstützt in WeasyPrint und einige andere Druckorientierte Motoren)

@page { @top-center { content: "My awesome title"; } } 

Alle Details im css3-page spec sind. Irgendwann möchte ich mehr autorenfreundliche Dokumentation dafür schreiben, aber leider ist es noch nicht da.

Verwandte Themen