2008-09-06 7 views
6

Wenn Sie von Google Text & Tabellen drucken (über den Link "Drucken", nicht über Datei/Drucken), drucken Sie am Ende eine schön formatierte PDF-Datei, anstatt sich auf das Druckmodul des Browsers zu verlassen. Gleiches gilt für einige Berichte in Google Analytics. . . Die gedruckten Berichte als PDFs sind wunderschön. Wie haben sie das gemacht? Ich kann mir nicht vorstellen, dass sie etwas wie Adobe Acrobat verwenden, um es zu erleichtern, aber vielleicht tun sie es auch. Ich habe von Zeit zu Zeit einige teure HTML-zu-PDF-Konverter online gesehen, aber ich habe es nie müde. Irgendwelche Gedanken?Wie erstellt Google diese beeindruckenden PDF-Berichte in Analytics und beim Drucken eines Google-Dokuments usw.?

Antwort

13

Wenn Sie speziell sehen, wie Google es tut. Wenn Sie die PDF Properties Seite betrachten, verwenden sie Prince 6.0 (siehe princexml.com)

Es gibt viele andere PDF-Generatoren da draußen. Ich hatte großen Erfolg mit PDFlib für knifflige Jobs.

alt text

-3

eine PDF-Rendering ist hart, komplexes Problem. Aber sie zu erzeugen, ist nicht. Einfach einige Entitäten erstellen und generieren. Es geht um dieselbe Problemdomäne wie das Generieren von HTML für die Webseite oder das Anzeigen (Rendern).

-1

Nun, ich bezweifle, dass es so einfach ist wie HTML zu generieren. . . Ich meine, zuallererst ist PDF kein von Menschen lesbares Format und es ist kein einfacher Text (wie SVG). In der Tat würde ich eine SVG-Datei mit einer PDF-Datei vergleichen, in der Sie beide eine genaue Kontrolle über das Layout auf einer gedruckten Seite haben. Aber SVG unterscheidet sich darin, dass es XML ist (und auch, dass es nicht vollständig im Browser unterstützt wird... Immer noch in SVG suchen). Wenn ich darüber nachdenke, sollte SVG wahrscheinlich meine nächste Frage sein.

Ich weiß, dass Google .NET nicht verwendet und ich bezweifle, dass sie Java verwenden, so dass es einige andere Bibliotheken geben muss, die sie für das Generieren der PDF-Dateien verwenden. Noch wichtiger, wie erstellen sie die PDFs, ohne alles als PDF anstatt als HTML neu schreiben zu müssen? Ich meine, es muss ein gemeinsamer Code für die Erstellung der HTML-Ansicht im Gegensatz zur PDF-Ansicht vorhanden sein. Denken Sie daran, vielleicht sind die PDF-Ansicht und die HTML-Ansicht völlig getrennt und sie haben nur zwei Ansichten und daher scheint der MVC-Entwicklungsstil der richtige Weg zu sein.

1

Ich habe Erfolg mit pd4ml hatte. Es hat eine Tag-Bibliothek, so dass Sie von

<pd4ml:transform> 
<!-- Your HTML is here --> 

<c:import url="/page.html" /> 
</pd4ml:transform> 
3

Großer freier Alternative zu PrinceXML all vorhandenen HTML-Code in PDF verwandeln: wkhtmltopdf. Es gibt viele Wrapper-Bibliotheken für verschiedene Sprachen - aber ich habe nur Ruby-Bibliotheken verwendet. Allerdings ist das Produkt mit PrinceXML IMHO auf Augenhöhe.

Verwandte Themen