Wie generiere ich am besten ein PDF in eine MVC Applikation. Diese Frage haben wir uns gestellt und wir haben 3 kostenlose und 2 kostenpflichtige Tools getestet.
Die kostenlosen Tools
Rotativa
Dieses Tool ist ein .net Wrapper für wkhtmltopdf. Man kann eine beliebige View, mit wenig Aufwand, als PDF zurückgeben.
„wkhtmltopdf“ ist eine .exe und kann somit auf Azure, z.B., nicht ausgeführt werden.
RazorPDF
RazorPDF hat die selbe Funktionsweise und die selben Nachteile wie unser voriges Tool. Beide Tools sind auch als Nuget Packages vorhanden.
Mit RazorPdf lässt sich ein File auch ganz einfach herstellen:
iTextSharp
Mit iTextSharp selbst muss man, im Gegensatz zu den vorigen Tools, ein PDF selbst zusammenbauen.
Document doc = new Document();
Die kostenpflichtigen Tools
Foxit
Bei diesem SDK muss man ebenfalls ein Dokument erstellen und Seiten hinzufügen. Foxit ist ein ziemlich mächtiges Tool mit nahezu uneingeschränkten Möglichkeiten.
Es hat jedoch 2 wesentliche Nachteile:
- Es lässt sich, weder automatisch. noch für den Benutzer einfach, ein Inhaltsverzeichnis erstellen.
- Man muss die Pages mit Elementen bestücken und ist eines zu lang wird es einfach abgeschitten. Automatisch erstellte Seiten gibt es nicht.
Aspose
Aspose kann alles was Foxit kann und mehr. Mit diesem Tool ist es möglich anstatt Pages – Sections zu generieren. diese Sections werden mit Elementen bestückt, welche automatisch untereinander gereiht werden.
Ist die Seite zu kurz? Dann wird eine neue Seite erstellt. Auch ist es mit ganz wenig Aufwand möglich ein, sogar verlinktes, Inhaltsverzeichnis mit Seiten nummern zu generieren.
Summary
Für kleine, unspektakuläre PDF’s reichen die kostenfreien Varianten allemal. Wenn es jedoch mal etwas komplizierter und komplexer werden sollte, ist die Investition in ein bezahltes Tool sicher nicht falsch.
Is‘ doch cool oder?