Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

HTML (aus Filesystem) to PDF mit itextsharp in vb.net

Frage Entwicklung Visual Studio

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

03.11.2014 um 09:07 Uhr, 1542 Aufrufe, 2 Kommentare, 1 Danke

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"

01.
Public Sub AttachmentHTMLToPDF(ByVal strAttHTMLPfadMDateiname As String, ByVal AttFilename As String) 
02.
 
03.
'Quelle: 
04.
'http://www.mindfiresolutions.com/HTML-to-PDF-conversion-using-iTextsharp-1088.php 
05.
 
06.
' Read html file to a string 
07.
  Using sr As StreamReader = New StreamReader(strAttHTMLPfadMDateiname) 
08.
    Dim line As String = sr.ReadToEnd 
09.
 
10.
    ' Code to convert to pdf 
11.
    Using doc As New iTextSharp.text.Document(iTextSharp.text.PageSize.A4, _ 
12.
                                                          singLinkerRand, singRechterRand, _ 
13.
                                                          singObererRand, singUntererRand) 
14.
      Using fs As New FileStream(AttFilename, FileMode.Create) 
15.
        PdfWriter.GetInstance(doc, fs) 
16.
          Using stringReader As New StringReader(line) 
17.
 
18.
            Try 
19.
 
20.
              Dim parsedList As System.Collections.Generic.List(Of IElement) = _ 
21.
                               html.simpleparser.HTMLWorker.ParseToList(stringReader, Nothing) 
22.
 
23.
              doc.Open() 
24.
              ' parse each html object and add it to the pdf document 
25.
              For Each item As Object In parsedList 
26.
                doc.Add(DirectCast(item, IElement)) 
27.
              Next 
28.
              doc.Close() 
29.
 
30.
            Catch ex As Exception 
31.
 
32.
              MsgBox(ex.Message) 
33.
              doc.Close() 
34.
 
35.
            End Try 
36.
 
37.
          End Using 
38.
        End Using 
39.
      End Using 
40.
    End Using 
41.
End Sub
In der Zeile
01.
Dim parsedList As System.Collections.Generic.List(Of IElement) = _ 
02.
                               html.simpleparser.HTMLWorker.ParseToList(stringReader, Nothing)
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

Mitglied: colinardo
04.11.2014, aktualisiert um 14:22 Uhr
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
Bitte warten ..
Mitglied: ahstax
06.11.2014 um 08:45 Uhr
Hallo Uwe,

Danke für den Hinweis.
Meine Beobachtung bis jetzt: es scheint das Konvertieren einer HTML-Datei in eine PDF-Datei nicht ganz so einfach zu sein, wie ich hoffte.

Kennst Du/Kennt jemand einen einfacheren (zuverlässiger, erprobter...) Weg ohne iTextSharp, HTML-Dateien in PDFs umzuwandeln?

Neugierige Grüße,
Andreas
Bitte warten ..
Ähnliche Inhalte
Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Visual Studio
Vb.net Datenfelder aus Word 2003 Dokument auslesen (3)

Frage von Herbrich19 zum Thema Visual Studio ...

VB for Applications
VB.net Combobox databinding langsam (4)

Frage von ForgottenRealm zum Thema VB for Applications ...

Visual Studio
gelöst Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke (7)

Frage von ahstax zum Thema Visual Studio ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (15)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Linux Desktop
KDE Slimbook (11)

Link von Frank zum Thema Linux Desktop ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...