Wie erstellt Google diese fantastischen PDF-Berichte in Analytics und beim Drucken eines Google-Dokuments usw.?[geschlossen]

StackOverflow https://stackoverflow.com/questions/47709

Frage

Wenn Sie aus Google Docs drucken (über den Link „Drucken“, nicht über Datei/Drucken), drucken Sie am Ende eine schön formatierte PDF-Datei, anstatt sich auf die Druck-Engine des Browsers zu verlassen.Das Gleiche 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 so etwas wie Adobe Acrobat verwenden, um es zu erleichtern, aber vielleicht tun sie es.Ich habe von Zeit zu Zeit einige teure HTML-zu-PDF-Konverter online gesehen, habe sie aber nie satt.Irgendwelche Gedanken?

War es hilfreich?

Lösung

Wenn Sie sich konkret ansehen, wie Google das macht.Wenn man sich das anschaut PDF-Eigenschaften Seite verwenden sie Prince 6.0 (siehe Princexml.com)

Es gibt viele andere PDF-Generatoren.Ich hatte großen Erfolg damit PDFlib für knifflige Aufgaben.

alt text

Andere Tipps

iTextSharp und iText sind Open-Source- und kostenlose PDF-Generierungsbibliotheken für .NET bzw. Java.

Ich habe sie bereits zum Generieren von Berichts-PDFs verwendet und war mit den Ergebnissen recht zufrieden.

http://itextsharp.sourceforge.net/

http://www.lowagie.com/iText/

Tolle kostenlose Alternative zu PrinceXML: wkhtmltopdf .Es gibt viele Wrapper-Bibliotheken für verschiedene Sprachen – ich habe jedoch nur Ruby-Bibliotheken verwendet.Allerdings ist das Produkt selbst meiner Meinung nach auf Augenhöhe mit PrinceXML.

Ich hatte Erfolg damit pd4ml.Es verfügt über eine Tag-Bibliothek, sodass Sie jedes vorhandene HTML in PDF umwandeln können

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

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

Nun, ich bezweifle, dass es so einfach ist wie das Generieren von HTML...Ich meine, zunächst einmal ist PDF kein für Menschen lesbares Format und kein einfacher Text (wie SVG).Tatsächlich würde ich eine SVG-Datei mit einer PDF-Datei vergleichen, da man bei beiden eine genaue Kontrolle über das Layout einer gedruckten Seite hat.Aber SVG unterscheidet sich darin, dass es XML ist (und auch darin, dass es im Browser nicht vollständig unterstützt wird)...Ich suche auch immer noch nach SVG).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, daher muss es einige andere Bibliotheken geben, die sie zum Generieren der PDF-Dateien verwenden.Noch wichtiger: Wie erstellen sie die PDFs, ohne alles als PDF statt als HTML neu schreiben zu müssen?Ich meine, es muss einen gemeinsamen Code geben, wenn die HTML-Ansicht im Gegensatz zur PDF-Ansicht generiert wird.Wenn Sie darüber nachdenken, sind die PDF-Ansicht und die HTML-Ansicht möglicherweise völlig getrennt und haben nur zwei Ansichten. Aus diesem Grund scheint der MVC-Entwicklungsstil der richtige Weg zu sein.

Das Rendern einer PDF-Datei ist ein schwieriges und komplexes Problem.Allerdings ist es nicht der Fall, sie zu erzeugen.Erstellen Sie einfach einige Entitäten und generieren Sie sie.Es geht um die gleiche Problemdomäne wie beim Generieren von HTML für eine Webseite vs.es anzuzeigen (zu rendern).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top