I am writing a report to pull RTF data from SQL into an RDL file (SSRS). At first I used a VB.Net function to pull that data into a RichTextBox and convert it to text. Here is the code I used:
Public Function ConvertRtfToText(ByVal input As String) As String
Dim returnValue As String = String.Empty
Using converter As New System.Windows.Forms.RichTextBox()
converter.Rtf = input.Trim
returnValue = converter.Text
End Using
Return returnValue
End Function
This worked well, except for the fact the hidden text (\v tag) was displayed. I cannot seem to figure out how to remove the lines that are hidden, or just hide them. If I create a RTF file and paste the string in there, that stuff is hidden, but converting to text does not work. I tried the what I had below (filtering on revised data instead of hidden) and then I realized that the .Line Method puts everything to text and you lose the tags to filter on.
How do I filter out the hidden/revised area? I have the example of RTF data provided as well (a portion of it anyways). Thank you for any input in advance. I have been struggling with this for days.
Public Function ConvertRtfToText(ByVal input As String) As String
Dim returnValue As String = String.Empty
Using converter As New System.Windows.Forms.RichTextBox()
converter.rtf = input.Trim
Dim txt() As String = converter.Lines
For Each s As String In txt
If (txt([s]).Contains("\revised")) Then
txt([s]) = String.Empty
End If
Next
converter.Lines = txt
returnValue = converter.Text
End Using
Return returnValue
End Function
\brdrw20\brdrcf2\clbrdrt\brdrs \brdrw20\brdrcf2\clbrdrr\brdrs \brdrw20\brdrcf2\clbrdrb\brdrs \brdrw20\brdrcf2\cellx3888\pard\intbl \ql {\*\bkmkstart bk12433203060}{\*\bkmkend bk12433203060}\pard\intbl\fi-468\li720\f2\fs20 \'b7 \f1 \f1\fs20 \b \escp ED Departure Time\b0 \cell \clbrdrl\brdrs \brdrw20\brdrcf2\clbrdrt\brdrs \brdrw20\brdrcf2\clbrdrr\brdrs \brdrw20\brdrcf2\clbrdrb\brdrs \brdrw20\brdrcf2\cellx8784\pard\intbl \ql \f1\fs20 \escp 10:22\cell \row \v\revised\trowd\trgaph108\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\trkeep\trleft0\clbrdrl\brdrs \brdrw20\brdrcf2\clbrdrt\brdrs \brdrw20\brdrcf2\clbrdrr\brdrs \brdrw20\brdrcf2\clbrdrb\brdrs \brdrw20\brdrcf2\cellx3888\pard\intbl \ql \cell \clbrdrl\brdrs \brdrw20\brdrcf2\clbrdrt\brdrs \brdrw20\brdrcf2\clbrdrr\brdrs \brdrw20\brdrcf2\clbrdrb\brdrs \brdrw20\brdrcf2\cellx8784\pard\intbl \ql \ulnone\b0\cf3\strike \f1\fs20 \escp 11:22\strike0\cf1\cell \row \v0\revised0\pard \trowd\trgaph108\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\trkeep\trleft0\clbrdrl\brdrs \brdrw20\brdrcf2\clbrdrt\brdrs \brdrw20\brdrcf2\clbrdrr\brdrs \brdrw20\brdrcf2\clbrdrb\brdrs