iTextSharp HTMLWorker.ParseToList () löst NullReferenceException aus

8

Ich verwende iTextSharp v.4, um eine ganze Reihe von HTML-Dateien zusammenzuführen. Es funktionierte gut, bis ich auf v.5 von iTextSharp aktualisieren musste.

Das Problem tritt auf, wenn ich einen Streamreader (den Inhalt der HTML-Datei lesend) an die ParseToList-Methode des HTMLWorker-Objekts übergebe. Es wird eine Nullreferenzausnahme ausgelöst. Beim Debuggen kann ich auf den streamReader zugreifen und kann bestätigen, dass der korrekte Inhalt der Datei gelesen wird.

Hier ist der Code:

%Vor%

Im catch-Block sehen Sie, dass ich dann praktisch den gleichen Code verwende, um der PDF-Datei Text hinzuzufügen, um zu sagen, dass ein Problem aufgetreten ist. Dieser Code funktioniert gut. Das lässt mich natürlich denken, dass das Problem im Inhalt der ursprünglichen html-Zeichenfolge liegt, also hier der Inhalt der Zeichenfolge, wie sie unmittelbar vor dem Übergeben in den Parser ist:

%Vor%

Danke für jede Hilfe. hofnarwillie

    
hofnarwillie 20.12.2011, 10:41
quelle

1 Antwort

8

Es sieht so aus, als ob HTMLWorker auf den zwei <hr width="100%" /> erstickt. Da Sie gesagt haben, dass Sie auf V5.XX upgraden, könnte es auch gut sein, mit XMLWorker zu beginnen Parsen Ihres HTML - das Entwicklerteam empfiehlt es. (Der letzte HTMLWorker Quellcode hat sogar eine kleine Referenz, die darauf hinweist)

Getestet mit Ihrem erweiterten HTML, es funktioniert, und ist nicht zu schlecht zu implementieren:)

%Vor%

Getestet in einer Web-Umgebung, ersetzen Sie also Response.OutputStream durch das Stream Ihrer Wahl.

    
kuujinbo 20.12.2011, 13:56
quelle

Tags und Links