HTML (aus Filesystem) to PDF mit itextsharp in vb.net
Hallo miteinander,
ich versuche, mit iTextSharp (V 5.4.4.0) eine HTML-Datei, die im Dateisystem gespeichert ist, in ein PDF umzuwandeln. Nachfolgenden Code habe ich gefunden und "angepasst"
In der Zeile
wird ein eine Exception ausgelöst mit folgendem Inhalt:
"Unbekanntes URI-Präfix."
Es scheint also, als ob der Code nicht dazu geeignet ist, HTML-Files aus dem Windows-Filesystem zu bearbeiten.
Hat jemand einen Rat, wie ich mit iTextSharp doch HTML-Files aus einem Windows-Filesystem in PDFs umwandeln kann?
Neugierige Grüße,
Andreas
ich versuche, mit iTextSharp (V 5.4.4.0) eine HTML-Datei, die im Dateisystem gespeichert ist, in ein PDF umzuwandeln. Nachfolgenden Code habe ich gefunden und "angepasst"
Public Sub AttachmentHTMLToPDF(ByVal strAttHTMLPfadMDateiname As String, ByVal AttFilename As String)
'Quelle:
'http://www.mindfiresolutions.com/HTML-to-PDF-conversion-using-iTextsharp-1088.php
' Read html file to a string
Using sr As StreamReader = New StreamReader(strAttHTMLPfadMDateiname)
Dim line As String = sr.ReadToEnd
' Code to convert to pdf
Using doc As New iTextSharp.text.Document(iTextSharp.text.PageSize.A4, _
singLinkerRand, singRechterRand, _
singObererRand, singUntererRand)
Using fs As New FileStream(AttFilename, FileMode.Create)
PdfWriter.GetInstance(doc, fs)
Using stringReader As New StringReader(line)
Try
Dim parsedList As System.Collections.Generic.List(Of IElement) = _
html.simpleparser.HTMLWorker.ParseToList(stringReader, Nothing)
doc.Open()
' parse each html object and add it to the pdf document
For Each item As Object In parsedList
doc.Add(DirectCast(item, IElement))
Next
doc.Close()
Catch ex As Exception
MsgBox(ex.Message)
doc.Close()
End Try
End Using
End Using
End Using
End Using
End Sub
In der Zeile
Dim parsedList As System.Collections.Generic.List(Of IElement) = _
html.simpleparser.HTMLWorker.ParseToList(stringReader, Nothing)
"Unbekanntes URI-Präfix."
Es scheint also, als ob der Code nicht dazu geeignet ist, HTML-Files aus dem Windows-Filesystem zu bearbeiten.
Hat jemand einen Rat, wie ich mit iTextSharp doch HTML-Files aus einem Windows-Filesystem in PDFs umwandeln kann?
Neugierige Grüße,
Andreas
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 253641
Url: https://administrator.de/forum/html-aus-filesystem-to-pdf-mit-itextsharp-in-vb-net-253641.html
Ausgedruckt am: 06.04.2025 um 07:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo Andreas,
der HTMLWorker wird laut Aussagen im Netz schon länger nicht mehr aktualisiert und unterstützt z.B. nur Inline CSS und keine separaten CSS-Abschnitte, so dass es dann zu solchen Exceptions wie der deinen kommt.
Es gibt hier als Alternative den XMLWorker der das etwas besser im Griff hat. Die Antwort in folgendem Thread beschreibt die diversen Fallstricke beim Thema HTML-zu-PDF ziemlich gut:
http://stackoverflow.com/questions/25164257/how-to-convert-html-to-pdf- ...
Grüße Uwe
der HTMLWorker wird laut Aussagen im Netz schon länger nicht mehr aktualisiert und unterstützt z.B. nur Inline CSS und keine separaten CSS-Abschnitte, so dass es dann zu solchen Exceptions wie der deinen kommt.
Es gibt hier als Alternative den XMLWorker der das etwas besser im Griff hat. Die Antwort in folgendem Thread beschreibt die diversen Fallstricke beim Thema HTML-zu-PDF ziemlich gut:
http://stackoverflow.com/questions/25164257/how-to-convert-html-to-pdf- ...
Grüße Uwe