|
// -- FILE ------------------------------------------------------------------
// name : RtfParserTool.cs
// project : RTF Framelet
// created : Leon Poyyayil - 2008.05.20
// language : c#
// environment: .NET 2.0
// copyright : (c) 2004-2010 by Itenso GmbH, Switzerland
// --------------------------------------------------------------------------
using System.IO;
using Itenso.Rtf.Parser;
namespace Itenso.Rtf.Support
{
// ------------------------------------------------------------------------
public static class RtfParserTool
{
// ----------------------------------------------------------------------
public static IRtfGroup Parse( string rtfText, params IRtfParserListener[] listeners )
{
return Parse( new RtfSource( rtfText ), listeners );
} // Parse
// ----------------------------------------------------------------------
public static IRtfGroup Parse( TextReader rtfTextSource, params IRtfParserListener[] listeners )
{
return Parse( new RtfSource( rtfTextSource ), listeners );
} // Parse
// ----------------------------------------------------------------------
public static IRtfGroup Parse( Stream rtfTextSource, params IRtfParserListener[] listeners )
{
return Parse( new RtfSource( rtfTextSource ), listeners );
} // Parse
// ----------------------------------------------------------------------
public static IRtfGroup Parse( IRtfSource rtfTextSource, params IRtfParserListener[] listeners )
{
RtfParserListenerStructureBuilder structureBuilder = new RtfParserListenerStructureBuilder();
RtfParser parser = new RtfParser( structureBuilder );
if ( listeners != null )
{
foreach ( IRtfParserListener listener in listeners )
{
if ( listener != null )
{
parser.AddParserListener( listener );
}
}
}
parser.Parse( rtfTextSource );
return structureBuilder.StructureRoot;
} // Parse
} // class RtfParserTool
} // namespace Itenso.Rtf.Support
// -- EOF -------------------------------------------------------------------
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
👨 Senior .NET Software Engineer
🚀 My Open Source Projects
-
Time Period Library 👉
GitHub
-
Payroll Engine 👉
GitHub
Feedback and contributions are welcome.