2012-03-28 7 views
3

Ich habe wkhtmltopdf arbeiten mit einem Kopf- und Fußzeilenbild, und alles im Abstand gut. Die Aufgabe besteht jedoch darin, ein ganzseitiges Hintergrundbild zu verwenden, das wie eine Art Rahmen aussieht, mit dem Seitentext in der Mitte. Ich dachte, ich könnte dies in den Header stellen, aber es funktioniert nicht - vielleicht macht die Verwendung eines vollständigen Seitenkopfes hier keinen Sinn.wkhtmltopdf mit ganzer Seite Hintergrundbild

(Dies sind mehrseitige Dokumente, die von beliebiger Länge sein können).

Irgendwelche Ideen, wie man das macht?

Vielen Dank im Voraus.

John

Antwort

7

Ich habe ein ähnliches Problem, das ist, was ich bisher verstanden:

  • Es ist nicht möglich, den Text vertikal auf der Seite einfach per CSS + wkhtmltopdf auf einem mehrseitigen zum Zentrum Dokument (könnte etwas komplexes Javascript-Zeug finden, aber es war in meinem Fall nicht wert);
  • seit wkhtmltopdf nutzt Webkit und Webkit nicht @page Regeln nicht unterstützt, ist es nicht möglich, einen "ausgelagert" Hintergrund über CSS, was

daher zu definieren? Sie werden ein wenig Hack benötigen und benutzen pdftk

1. In Ihrem CSS definieren:

body { 
    background: white; 
} 

(wenn Sie einen Body-Tag in Ihrem header.html haben und footer.html stellen Sie sicher, dass Regel gilt für sie als gut)

2. erstellen einer Seite pdf mit Ihrem Hintergrundbild (die gleiche Seitengröße als letzte pdf verwenden)

3. Installieren pdftk und von der Kommandozeile:

$ pdftk yourfile.pdf background background.pdf output yourfile_b.pdf 

4. Enjoy :)

+0

Dies ist ein kluger, wenn auch umständlich Abhilfe. Hoffen wir, dass sie bald auf das Nightly für Webkit upgraden werden! – Roberto

+0

Diese Lösung ist auch nützlich, um eine hohe Qualität des Hintergrundbilds/Inhalts beizubehalten. Vielen Dank. – DEY

0

Sie können eine Lösung auf Webkit BASED verwenden, wie HTM2PDF - Sie werden in der Lage hinzufügen ein Feature namens "stationär", mit dem Sie jedes Bild als vollständigen Seitenhintergrund integrieren können.

weitere Informationen in der Dokumentation from the API page