Ich habe viele Beiträge gesehen, in denen beschrieben wird, wie Sie chart.js
verwenden können, um ein Diagramm mit canvas
zu erstellen und dann canvas
in png zu speichern und in ein pdf
zu importieren. Das ist in Ordnung, aber was, wenn Sie den Bildschirmteil umgehen und direkt zu einem pdf-Dokument gehen und das Bild einschließen möchten?
Zum Beispiel könnte ich zwei Schaltflächen haben, eine, die das Diagramm auf dem Bildschirm mit canvas
öffnet. Diese Seite könnte dann problemlos mit dem Speichern und Importieren des Diagramms in die PDF-Datei umgehen. Der andere Knopf öffnet den pdf
direkt. Ist es möglich, das Diagramm in dieses Dokument zu bekommen, entweder auf dem Server als erstes zu speichern oder nicht?
Ich vermute, dass mir vielleicht gesagt wird, dass ich auf d3 umstellen soll, aber ich habe mich nur gefragt, ob das in chart.js
möglich ist?
Das ist in Ordnung, aber was ist, wenn Sie den Bildschirmteil umgehen und direkt zu einem PDF-Dokument gehen und das Bild einfügen möchten
Sie können chart.js immer noch als PDF-Datei mit PhantomJs verwenden (ein kopfloser Browser, der eine HTML-Seite mit Ihren Diagrammen öffnet und diese über PDF speichert). Wenn du mit nodejs arbeitest, gibt es eine gute Bibliothek, die PhantomJs abstrahiert und das PDF leicht macht: Ссылка . Es scheint wie ein Workaround, aber in der Regel diese Canvas in PDF nicht gut, insbesondere Diagramme!
Ja, Sie müssen immer noch eine HTML-Seite erstellen, um Ihre PDF zu drucken, aber Sie haben 2 Möglichkeiten:
Verwenden Sie dieselbe Seite und Über CSS-Druckstile können Sie Dinge anzeigen / ausblenden, die nur auf PDF gedruckt werden (da PhantomJs PDF im Druckmodus erstellt).
Erstellen Sie eine benutzerdefinierte Webseite nur für die PDF-Rendering
Obwohl dies die Frage nicht direkt beantwortet, da ich chart.js nicht dazu bringen konnte, das zu tun, was ich als Client-Seite wollte, fand ich eine gute Lösung mit pChart . Während das PDF erstellt wird, wird das Diagramm erstellt und vorübergehend auf dem Server gespeichert, bis das PDF fertig ist. Das Diagramm wird in die PDF eingefügt und löscht dann das Diagramm vom Server. Es gibt ein bisschen Manipulation, um das Bild richtig zu skalieren.
%Vor%