Ich habe phantomJS untersucht und sieht aus, als könnte es ein großartiges Werkzeug sein, um PDFs zu generieren. Ich frage mich, ob jemand es erfolgreich für ihre .NET-Anwendungen verwendet hat.
Meine spezielle Frage ist: Wie würden Sie Module wie rasterize.js verwenden? Server, erhalten Anfragen und senden generierte PDFs als Antwort zurück.
Meine allgemeine Frage ist: Gibt es eine Best Practice für die Verwendung von phantomJS mit .NET-Anwendungen? Was wäre der beste Weg, um es zu erreichen?
Ich bin ziemlich neu in .NET World und würde mich über die ausführlicheren Antworten freuen. Danke an alle. :)
Ich kenne keine Best Practices, aber ich benutze phantomJS ohne Probleme mit dem folgenden Code.
%Vor%Hier ist der Aktionsfluss:
Der Benutzer klickt auf einen Link zu DownloadStatement Action
. Dort wird ein neues Thread
erstellt, um die Methode ExecuteCommand
aufzurufen.
Die Methode ExecuteCommand
ist dafür verantwortlich, phantomJS aufzurufen. Die Zeichenfolge, die als Argument übergeben wird, macht folgendes:
Gehen Sie zum Speicherort der phantomJS-App und rufen Sie anschließend rasterize.js
mit einer URL, dem zu erstellenden Dateinamen und einem Druckformat auf. ( Mehr über Rasterisieren hier ).
In meinem Fall möchte ich wirklich den Inhalt drucken, der von action
filetoupload geliefert wird. Es ist eine einfache Aktion, die eine einfache Ansicht zurückgibt. PhantomJS wird die als Parameter übergebene URL aufrufen und all die Magie vollbringen.
Während phantomJS die Datei noch erstellt, kann ich (ich denke) die vom Client gestellte Anfrage nicht zurückgeben. Und deshalb habe ich die Methode DoWhile
verwendet. Es wird die Anfrage halten, bis die Datei von phantomJS erstellt und von der App auf die Anfrage geladen wird.
Wenn Sie NReco.PhantomJS , das einen .NET Wrapper für PhantomJS bereitstellt, verwenden können, tun Sie dies Das ist sehr prägnant.
%Vor%Sie können hier ein Beispiel sehen Bildschirm von Webseite in verschiedenen Formaten erfassen
Tags und Links asp.net-mvc asp.net phantomjs