Top-Themen

Aktuelle Themen (A bis Z)

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

Frage Entwicklung Visual Studio

GELÖST

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

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

03.11.2014 um 09:07 Uhr, 1594 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
Visual Studio
Mit vb.net und itextsharp formatierten Text aus übergebenem String in bestehendes PDF einfügen
gelöst Frage von ahstaxVisual Studio1 Kommentar

Hallo, ich würde gerne den Inhalt einer (mehrerer, wenn es mit einer klappt, gehen dann sicherlich auch mehr) String-Variablen ...

Basic
Mit vb.net PDF in Word-Dok einfügen
gelöst Frage von ahstaxBasic10 Kommentare

Hallo, Ich suche Hinweise und Beispiele, wie man mit einem vb.net-Programm alle Seiten eines PDF-Doks in ein Word-Dok einfügen ...

Windows Userverwaltung
User im "kaputtem" Filesystem berechtigen
Frage von ArnoNymousWindows Userverwaltung5 Kommentare

Hallo Leute, Ich habe hier ein ziemlich großes, historisch gewachsenes Filesystem mit vielen Unterordner-Strukturen. Das Ganze wurde bisher ohne ...

Windows Server
AuditProtokoll - Filesystem Überwachung Fileserver
Frage von Sunny89Windows Server

Hallo zusammen, ich habe gerade seit längerem ein Auditprotokoll gesichtet bei unserer kleinen Firma. Mir fielen hier zwei Domänencomputer/Benutzer ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 27 MinutenRouter & Routing

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 7 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 11 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...