Ich habe zwei jQuery-Diagramme Plugins gefunden, die ich mag - flot und jqPlot. Ich denke daran, eines davon am Front-End meiner Website zu verwenden.
Ich muss aber auch Benutzern erlauben, Daten im PDF-Format zu exportieren. Ich bin im Idealfall auf der Suche nach einer reinen Python-Lösung, könnte aber auch auf Java oder PHP zugreifen. Die Qualität der erzeugten Diagramme ist der wichtigste Faktor.
Optionen, die ich in Betracht gezogen habe, sind:
Was wäre der beste Weg, dies zu tun? Wenn ich die Rhino-Lösung zum Laufen bringen kann, wäre das großartig, da sie die Konsistenz zwischen dem Frontend und generierten PDFs aufrechterhält.
Soweit ich es verstehe, zieht flot zum canvas-Element (wo verfügbar). Ich googelte Beispiele für den Canvas-Inhalt exportieren und fand canvas2image zum Beispiel. Es könnte oder könnte nicht ein Weg sein, es zu erkunden.
Siehe auch diese StackOverflow-Frage . Von diesem Punkt ausgehend, kann es recht einfach sein, ein Bild zu exportieren (mit Canvas.ToDataUrl(type)
, das einen Mime-Typ annimmt. Ich bin mir ziemlich sicher, dass es mit application / pdf nichts anfangen wird ...).
Aktualisieren : Nun, sehen Sie hier, eine modifizierte Version von canvas2image befindet sich in flotr Quelle: Ссылка
Es gibt Lösungen, um PDF aus JavaScript auf dem Client zu generieren:
Kombinieren Sie diese beiden und Sie haben vielleicht eine Lösung.
Ich schlage vor, einen Blick auf matplotlib zu werfen.
Die Diagramme sind sehr anpassbar und können sehr gut aussehen. Zugegeben, die vielen Möglichkeiten können zunächst einschüchternd sein. Aber eine Menge Augenschmaus-Effekte können erreicht werden, wenn Sie wissen, wie.
Wenn Sie beispielsweise Schatten wollen, werfen Sie einen Blick auf die transformiert Tutorial .
Außerdem liefert matplotlib hohe dpi-Bitmap-Bilder oder sogar PDF-Vektorgrafiken. Ich weiß nicht, wie schwer es ist, die erwähnten jQuery-Bibliotheken für Grafiken mit höherer Auflösung zu verwenden.
Sie können ein kopfloses Webkit (Rendering-Engine) mit Python und Qt auf einem Server ausführen, den Sie dann ausdrucken können zu PDF. Die Änderungen, die Sie vornehmen müssen, um eine PDF-Datei mit Qt zu drucken, sind hier aufgeführt, auch wenn sie dies möglicherweise tun nicht vollständig sein.
Diese Lösung wird nur die Seite rendern und Sie können die Diagramme als separate Bilder speichern oder den vorgeschlagenen Pfad zum Generieren eines vollständigen PDF der Seite gehen.