Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

Convert HTML to RTF (HtmlToRtf Converter)

The following code converts basic html to rtf. It supports only the following html tags: b, i, u. strong, em, p and the greek character set. I wrote this code to convert html formated text to rtf source for crystal reports 9 (VS 2003 bandle) that do not support html parsing.

Public Function HtmlToRtf(ByVal Html As String) As String

Const RtfHeader As String = "{\rtf1\ansi\ansicpg1253\deff0\deflang1032{\fonttbl{\f0\fnil\fcharset161{\*\fname Microsoft Sans Serif;}Microsoft Sans Serif;}{\f1\fnil\fcharset0 Microsoft Sans Serif;}} \viewkind4\uc1\pard\f0\fs17\ "

Const RtfFooter As String = ""

Dim StringBuilder As System.Text.StringBuilder

StringBuilder = New System.Text.StringBuilder(Html)

StringBuilder.Replace("<b>", "\b ")

StringBuilder.Replace("</b>", "\b0 ")

StringBuilder.Replace("<i>", "\i ")

StringBuilder.Replace("</i>", "\i0 ")

StringBuilder.Replace("<u>", "\ul ")

StringBuilder.Replace("</u>", "\ulnone ")

StringBuilder.Replace("<B>", "\b ")

StringBuilder.Replace("</B>", "\b0 ")

StringBuilder.Replace("<I>", "\i ")

StringBuilder.Replace("</I>", "\i0 ")

StringBuilder.Replace("<U>", "\ul ")

StringBuilder.Replace("</U>", "\ulnone ")

StringBuilder.Replace("<strong>", "\b ")

StringBuilder.Replace("</strong>", "\b0 ")

StringBuilder.Replace("<em>", "\i ")

StringBuilder.Replace("</em>", "\i0 ")

StringBuilder.Replace("<STRONG>", "\b ")

StringBuilder.Replace("</STRONG>", "\b0 ")

StringBuilder.Replace("<EM>", "\i ")

StringBuilder.Replace("</EM>", "\i0 ")

StringBuilder.Replace("<Strong>", "\b ")

StringBuilder.Replace("</Strong>", "\b0 ")

StringBuilder.Replace("<Em>", "\i ")

StringBuilder.Replace("</Em>", "\i0 ")

StringBuilder.Replace("<br>", "\line ")

StringBuilder.Replace("<BR>", "\line ")

StringBuilder.Replace("<Br>", "\line ")

StringBuilder.Replace("<br/>", "\line ")

StringBuilder.Replace("<BR/>", "\line ")

StringBuilder.Replace("<Br/>", "\line ")

StringBuilder.Replace("<p>", "")

StringBuilder.Replace("<P>", "")

StringBuilder.Replace("</p>", "\par ")

StringBuilder.Replace("</P>", "\par ")

StringBuilder.Replace("Α", "\'c1")

StringBuilder.Replace("Β", "\'c2")

StringBuilder.Replace("Γ", "\'c3")

StringBuilder.Replace("Δ", "\'c4")

StringBuilder.Replace("Ε", "\'c5")

StringBuilder.Replace("Ζ", "\'c6")

StringBuilder.Replace("Η", "\'c7")

StringBuilder.Replace("Θ", "\'c8")

StringBuilder.Replace("Ι", "\'c9")

StringBuilder.Replace("Κ", "\'ca")

StringBuilder.Replace("Λ", "\'cb")

StringBuilder.Replace("Μ", "\'cc")

StringBuilder.Replace("Ν", "\'cd")

StringBuilder.Replace("Ξ", "\'ce")

StringBuilder.Replace("Ο", "\'cf")

StringBuilder.Replace("Π", "\'d0")

StringBuilder.Replace("Ρ", "\'d1")

StringBuilder.Replace("Σ", "\'d3")

StringBuilder.Replace("Τ", "\'d4")

StringBuilder.Replace("Υ", "\'d5")

StringBuilder.Replace("Φ", "\'d6")

StringBuilder.Replace("Χ", "\'d7")

StringBuilder.Replace("Ψ", "\'d8")

StringBuilder.Replace("Ω", "\'d9")

StringBuilder.Replace("α", "\'e1")

StringBuilder.Replace("β", "\'e2")

StringBuilder.Replace("γ", "\'e3")

StringBuilder.Replace("δ", "\'e4")

StringBuilder.Replace("ε", "\'e5")

StringBuilder.Replace("ζ", "\'e6")

StringBuilder.Replace("η", "\'e7")

StringBuilder.Replace("θ", "\'e8")

StringBuilder.Replace("ι", "\'e9")

StringBuilder.Replace("κ", "\'ea")

StringBuilder.Replace("λ", "\'eb")

StringBuilder.Replace("μ", "\'ec")

StringBuilder.Replace("ν", "\'ed")

StringBuilder.Replace("ξ", "\'ee")

StringBuilder.Replace("ο", "\'ef")

StringBuilder.Replace("π", "\'f0")

StringBuilder.Replace("ρ", "\'f1")

StringBuilder.Replace("σ", "\'f3")

StringBuilder.Replace("τ", "\'f4")

StringBuilder.Replace("υ", "\'f5")

StringBuilder.Replace("φ", "\'f6")

StringBuilder.Replace("χ", "\'f7")

StringBuilder.Replace("ψ", "\'f8")

StringBuilder.Replace("ω", "\'f9")

StringBuilder.Replace("ς", "\'f2")

StringBuilder.Replace("ά", "\'dc")

StringBuilder.Replace("έ", "\'dd")

StringBuilder.Replace("ί", "\'df")

StringBuilder.Replace("ύ", "\'fd")

StringBuilder.Replace("ή", "\'de")

StringBuilder.Replace("ό", "\'fc")

StringBuilder.Replace("ώ", "\'fe")

StringBuilder.Replace("ϊ", "\'fa")

StringBuilder.Replace("ϋ", "\'fb")

StringBuilder.Replace("&nbsp;", " ")

StringBuilder.Insert(0, RtfHeader)

StringBuilder.Append(RtfFooter)

Return StringBuilder.ToString

End Function

Έχουν δημοσιευτεί Παρασκευή, 19 Αυγούστου 2005 8:30 πμ από το μέλος Χρήστος Γεωργακόπουλος
Δημοσίευση στην κατηγορία: ,

Σχόλια:

Έχει απενεργοποιηθεί η προσθήκη σχολίων από ανώνυμα μέλη