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, 1516 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 ..
Neuester Wissensbeitrag
Windows Update

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(1)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ähnliche Inhalte
Basic
gelöst Mit vb.net PDF in Word-Dok einfügen (10)

Frage von ahstax zum Thema Basic ...

Visual Studio
gelöst VB.Net - Hilfe bei Regex (8)

Frage von emeriks zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...