2016-08-09 23 views
5

Ich benutze itextsharp dll (v5.5.9.0) zum Generieren einer PDF aus Html in Asp.net Mvc. In diesem verwende ich eine Klasse HTMLWorker. Ich bekomme ein Ergebnis, das meiner Anforderung entspricht. Es funktioniert jetzt gut. Aber es zeigt sich als [deprecated]. Wird es in Zukunft funktionieren/unterstützt oder nicht? (oder kann ich zu xmlworker wechseln?)itextsharp HTMLWorker [veraltet]

Antwort

7

Die Klasse HTMLWorker ist veraltet. Es wurde als persönliches Projekt gestartet, um kleine HTML-Snippets zu parsen. Es wurde ohne klares Design geschrieben. Es musste dem Zweck eines Individuums in einem bestimmten Projekt dienen.

Allerdings kam es irgendwie in die Hauptversion und Leute begannen es für Zwecke zu benutzen, für die es nicht gebaut wurde. Leute beklagten sich über Fehler, ohne zu wissen, dass HTMLWorker niemals dazu gedacht war, schwere Lasten zu heben.

Andere Entwickler begannen zu verbessern HTMLWorker, aber bald traf die Grenzen des fehlerhaften Designs (und die Spaghetti Code).

XML-Worker ist ein Projekt, das von Entwicklern gemacht wurde, die von iText Group bezahlt wurden. Es wird in verschiedenen Projekten verwendet. Es war nicht als URL2PDF-Tool gedacht, da es keine komplexe Webseite in PDF umwandeln kann, aber Sie können Vorlagen mit einfachem HTML und CSS erstellen, diese Vorlagen ausfüllen und in PDF konvertieren .

XML-Worker leidet unter der Tatsache, dass iText ursprünglich nicht zum Rendern von HTML gedacht war. Zum Beispiel: In iText 5 (und früheren Versionen) werden Eigenschaften wie Schriftarten, Farben, ... nicht vererbt. Diese Fehler sind in iText 7 behoben. XML Worker wurde noch nicht auf iText 7 portiert, aber es ist der nächste auf unserer technischen Roadmap.

Zusammenfassend: sollten Sie nicht HTMLWorker verwenden. Es wird in Zukunft nicht unterstützt.

+0

Danke @Bruno Lowagie :) –

+0

Sie sagten "Sie sollten nicht HTMLWorker verwenden". Aber ich "erbte" ein Projekt, das es verwendet, und die Entwickler (Auftragnehmer) sind weg, also kann ich sie nicht fragen. Was soll ich jetzt tun? Gibt es einen Ersatz für HTMLWorker? In diesem Projekt wird es verwendet, um HTML in ein PDF-Dokument umzuwandeln. – Matt

+0

@Matt Sie haben also ein Projekt geerbt, das mindestens aus dem Jahr 2009 stammt. Sie können entweder XML Worker (iText 5.5.10) verwenden oder Sie können eine Woche warten, um das neue iText 7 pdf2data Tool zu erhalten. Ich habe bereits Demos der neuen pdf2data gesehen und sie sind erstaunlich. –