<?xml version="1.0"?>
<doc>
    <assembly>
        <name>FarPoint.PDF</name>
    </assembly>
    <members>
        <member name="T:FarPoint.PDF.Drawing.EMF.Document">
            <summary>Represents a document.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Document.#ctor">
            <summary>Creates a new document.</summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.EMF.Document.Item(System.Int32)">
            <summary>Gets a record.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Document.Play(FarPoint.PDF.Drawing.Graphics)">
            <summary>Plays the record to the specified graphics device.</summary>
            <param name="g">Graphics device</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Document.Add(FarPoint.PDF.Drawing.EMF.Records.Record)">
            <summary>Adds a record.</summary>
            <param name="rec">Record</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Document.Dispose">
            <summary>Disposes of resources.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Document.FarPoint#PDF#Drawing#EMF#IDocument#GetObject(System.Int32)">
            <summary>Gets an object.</summary>
            <param name="id">Identifier</param>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Reader">
            <summary>Represents a reader.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Reader.Read(System.IO.Stream,System.Type[])">
            <summary>Creates a new reader.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.Record">
            <summary>Interface that supports dispose.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Records.Record.Dispose">
            <summary>Disposes of resources.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Records.Record.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>Reads the record.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Records.Record.Play(FarPoint.PDF.Drawing.Graphics)">
            <summary>Plays the record to the graphics device.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Records.Record.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.EMF.Records.Record.ObjectID">
            <summary>Gets the object identifier.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.Record.m_ObjectID">
            <summary>Sets the object identifier.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.RECTL">
            <summary>Represents the rectangle record.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RECTL.left">
            <summary>Sets the length of the left side.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RECTL.top">
            <summary>Sets the length of the top.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RECTL.right">
            <summary>Sets the length of the right side.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RECTL.bottom">
            <summary>Sets the length of the bottom.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.POINTS">
            <summary>Represents the point (16-bit) record.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.POINTS.x">
            <summary>Sets the x-coordinate of the point.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.POINTS.y">
            <summary>Sets the y-coordinate of the point.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.POINTL">
            <summary>Represents the point (32-bit) record.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.POINTL.x">
            <summary>Sets the x-coordinate of the point.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.POINTL.y">
            <summary>Sets the y-coordinate of the point.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.SIZEL">
            <summary>Represents the size record.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.SIZEL.cx">
            <summary>Sets the change in the x-coordinate.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.SIZEL.cy">
            <summary>Sets the change in the y-coordinate.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.XFORM">
            <summary>Represents the transformation record.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.XFORM.eM11">
            <summary>Sets the matrix value</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.XFORM.eM12">
            <summary>Sets the matrix value</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.XFORM.M21">
            <summary>Sets the matrix value</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.XFORM.M22">
            <summary>Sets the matrix value</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.XFORM.eDx">
            <summary>Sets the matrix value</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.XFORM.eDy">
            <summary>Sets the matrix value</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.RGNDATA">
            <summary>Represents the region data record.</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Records.RGNDATA.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>Reads the region data.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.LOGFONT">
            <summary>Represents the font record.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfHeight">
            <summary>Sets the font parameter for height</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfWidth">
            <summary>Sets the font parameter for width</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfEscapement">
            <summary>Sets the font parameter for escapement</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfOrientation">
            <summary>Sets the font parameter for orientation</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfWeight">
            <summary>Sets the font parameter for weight</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfItalic">
            <summary>Sets the font parameter for italics</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfUnderline">
            <summary>Sets the font parameter for underline</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfStrikeOut">
            <summary>Sets the font parameter for strikeout</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfCharSet">
            <summary>Sets the font parameter for character set</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfOutPrecision">
            <summary>Sets the font parameter for output precision</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfClipPrecision">
            <summary>Sets the font parameter for Clipboard precision</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfQuality">
            <summary>Sets the font parameter for quality</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfPitchAndFamily">
            <summary>Sets the font parameter for pitch and font family</summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.lfFaceName">
            <summary>Gets the font parameter for font face name</summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.EMF.Records.LOGFONT.Read(System.Byte[],System.Int32,System.Int32)">
            <summary>Reads the font parameter.</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.RecordType">
            <summary>Specifies the type of record.</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_HEADER">
            <summary>[1] Record is a header</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_POLYGON">
            <summary>[3] Record is a polygon</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_POLYPOLYGON">
            <summary>[8] Record is a poly-polygon</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETWINDOWEXTEX">
            <summary>[9] Record is a set window ext</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETWINDOWORGEX">
            <summary>[10] Record is a set window or</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETVIEWPORTEXTEX">
            <summary>[11] Record is a set view port ext</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_EOF">
            <summary>[14] Record is a end of file (EOF)</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETMAPMODE">
            <summary>[17] Record is a set map mode</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETBKMODE">
            <summary>[18] Record is a set background mode</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETPOLYFILLMODE">
            <summary>[19] Record is a set polyfill mode</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETROP2">
            <summary>[20] Record is a set ROP</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETSTRETCHBLTMODE">
            <summary>[21] Record is a set stretch blt mode</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETTEXTALIGN">
            <summary>[22] Record is a set text alignment</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETTEXTCOLOR">
            <summary>[24] Record is a set text color</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETBKCOLOR">
            <summary>[25] Record is a set background color</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_INTERSECTCLIPRECT">
            <summary>[30] Record is a intersect clip rectangle</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SAVEDC">
            <summary>[33] Record is a save DC</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_RESTOREDC">
            <summary>[34] Record is a restore DC</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SELECTOBJECT">
            <summary>[37] Record is a select object</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_DELETEOBJECT">
            <summary>[40] Record is a delete object</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SELECTPALETTE">
            <summary>[48] Record is a select palette</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETMITERLIMIT">
            <summary>[58] Record is a set milter (mail filter) limit</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_BEGINPATH">
            <summary>[59] Record is a begin path</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_ENDPATH">
            <summary>[60] Record is a end path</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_GDICOMMENT">
            <summary>[70] Record is a GDI comment</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_EXTSELECTCLIPRGN">
            <summary>[75] Record is a ext select clip region</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_BITBLT">
            <summary>[76] Record is a bit blt</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_EXTCREATEFONTINDIRECTW">
            <summary>[82] Record is a ext create font direct w</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_STRETCHDIBITS">
            <summary>[81] Record is a </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_EXTTEXTOUTW">
            <summary>[84] Record is a ext text out w</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_POLYGON16">
            <summary>[86] Record is a polygon (16-bit)</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_POLYPOLYGON16">
            <summary>[91] Record is a poly-polygon (16-bit)</summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.RecordType.EMR_SETICMMODE">
            <summary>[98] Record is a set IC mode</summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.ROP2">
            <summary>
            Specifies the ROP (raster operator).
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_BLACK">
            <summary>
            [1] Uses black
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_NOTMERGEPEN">
            <summary>
            [2] Uses merge pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_MASKNOTPEN">
            <summary>
            [3] Uses mask NOT pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_NOTCOPYPEN">
            <summary>
            [4] Uses NOT copy pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_MASKPENNOT">
            <summary>
            [5] Uses mask pen NOT
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_NOT">
            <summary>
            [6] Uses NOT
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_XORPEN">
            <summary>
            [7] Uses XOR pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_NOTMASKPEN">
            <summary>
            [8] Uses NOT mask pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_MASKPEN">
            <summary>
            [9] Uses mask pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_NOTXORPEN">
            <summary>
            [1] Uses NOT XOR pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_NOP">
            <summary>
            [10] Uses NOP
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_MERGENOTPEN">
            <summary>
            [12] Uses merge NOT pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_COPYPEN">
            <summary>
            [13] Uses copy pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_MERGEPENNOT">
            <summary>
            [14] Uses merge pen NOT
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_MERGEPEN">
            <summary>
            [15] Uses merge pen
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_WHITE">
            <summary>
            [16] Uses white
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.ROP2.R2_LAST">
            <summary>
            Uses last and white
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.EMF.Records.BkMode">
            <summary>
            Specifies the background mode
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.BkMode.TRANSPARENT">
            <summary>
            [1] Uses transparent background
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Drawing.EMF.Records.BkMode.OPAQUE">
            <summary>
            [2] Uses opaque background
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.Graphics">
            <summary>
            Represents the graphics device drawing functions.
            </summary>
            <remarks>
            This class performs all the drawing functions on a PDF Page object.
            It maintains the PDF grpahic state using structures GraphicState and GraphicsStateStack.
            Always remember to update the graphic state structures in case the PDF graphics state changes.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Graphics.ShowColor">
            <summary>
            Gets or sets a value indicating whether [show color].
            </summary>
            <value><c>true</c> if [show color]; otherwise, <c>false</c>.</value>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.#ctor(FarPoint.PDF.Objects.PageObject,System.Drawing.Graphics)">
            <summary>
            Creates a new graphics device.
            </summary>
            <param name="page">PDF page for which the graphics device is created</param>
            <param name="g">Graphics device</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.InitializeCM">
            <summary>
            Sets the initial CM such that the coordinate system of Windows and PDF are the same.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.WriteGraphicState(FarPoint.PDF.Drawing.GraphicState)">
            <summary>
            Writes the PDF state elements, such as ForeColor, FillColor, LineWidth, MilterLimit (mail filter limit).
            </summary>
            <param name="state">State written to stream</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetDashStyle(System.Drawing.Drawing2D.DashStyle,System.Single,System.Single[],System.Single)">
            <summary>
            Sets the dash style of line.
            </summary>
            <param name="dashStyle">Dash style</param>
            <param name="dashOffset">Dash offset</param>
            <param name="dashArray">Dash array</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFLine(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Generates PDF content for a line.
            </summary>
            <param name="x1">X-coordinate of first point</param>
            <param name="y1">Y-coordinate of first point</param>
            <param name="x2">X-coordinate of second point</param>
            <param name="y2">Y-coordinate of second point</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFRectangle(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Generates PDF content for a rectangle.
            </summary>
            <param name="x">X-coordinate of first point</param>
            <param name="y">Y-coordinate of first point</param>
            <param name="width">Width of rectangle</param>
            <param name="height">Height of rectangle</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFWidthLine(System.Single)">
            <summary>
            Sets the PDF line width.
            </summary>
            <param name="w">Width of the line</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFStroke">
            <summary>
            PDF for stroke path
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFCloseStroke">
            <summary>
            Closes and strokes the path
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFFill(System.Drawing.Drawing2D.FillMode)">
            <summary>
            Pdf for fill path alternate method
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFPatternFill(System.Drawing.TextureBrush,System.Drawing.Drawing2D.GraphicsPath)">
            <summary>
            Creates a PDF pattern.
            </summary>
            <param name="brush">Image brush</param>
            <param name="path">Path to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFPolygon(System.Drawing.PointF[])">
            <summary>
            Generates PDF content for a polygon.
            </summary>
            <param name="points">Array of points in the polygon</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.UpdateGraphicState(System.Drawing.Pen)">
            <summary>
            Updates the graphic state according to the specified pen and 
            outputs the PDF content according to the pen properties.
            </summary>
            <param name="pen">Pen</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.UpdateGraphicState(System.Drawing.Brush)">
            <summary>
            Updates the graphic state according to the specified brush and 
            outputs PDF content according to the brush properties.
            </summary>
            <param name="brush">Brush; update only if SolidBrush</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.UpdateGraphicState(System.Drawing.Color)">
            <summary>
            Updates the graphic state according to the specified brush and 
            outputs PDF content according to the brush properties.
            </summary>
            <param name="fillColor">Brush; update only if SolidBrush</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.UpdateGraphicStateForPen(System.Drawing.Color,System.Single)">
            <summary>
            Updates the graphic state according to the specified pen and
            outputs the PDF content according to the pen properties.
            </summary>
            <param name="color">The color.</param>
            <param name="thickness">The thickness.</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.UpdateTextState(System.Drawing.Font,System.Drawing.Brush)">
            <summary>
            Updates the graphics state according to the font and the brush.
            </summary>
            <param name="font">Font</param>
            <param name="brush">Brush</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PDFPathString(System.Drawing.Drawing2D.GraphicsPath)">
            <summary>
            Creates a PDF path corresponding to the specified graphics path.
            </summary>
            <param name="path">Graphics path</param>
            <returns>PDF representation of the graphics path</returns>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawArc(System.Drawing.Pen,System.Drawing.Rectangle,System.Single,System.Single)">
            <summary>
            Draws an arc representing a portion of an ellipse specified by a Rectangle structure.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the arc</param>
            <param name="rectangle">Rectangle structure that defines the boundaries of the arc</param>
            <param name="startAngle">Angle in degrees measured clockwise from the x-axis to the starting point of the arc</param>
            <param name="sweepAngle">Angle in degrees measured clockwise from the startAngle parameter to ending point of the arc</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawArc(System.Drawing.Pen,System.Drawing.RectangleF,System.Single,System.Single)">
            <summary>
            Draws an arc representing a portion of an ellipse specified by a Rectangle structure.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the arc</param>
            <param name="rectangle">RectangleF structure that defines the boundaries of the arc</param>
            <param name="startAngle">Angle in degrees measured clockwise from the x-axis to the starting point of the arc</param>
            <param name="sweepAngle">Angle in degrees measured clockwise from the startAngle parameter to ending point of the arc</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawArc(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32,System.Single,System.Single)">
            <summary>
            Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the arc</param>
            <param name="x">X-coordinate of the upper-left corner of the rectangle that defines the arc</param>
            <param name="y">Y-coordinate of the upper-left corner of the rectangle that defines the arc</param>
            <param name="width">Width of the rectangle that defines the arc</param>
            <param name="height">Height of the rectangle that defines the arc</param>
            <param name="startAngle">Angle in degrees measured clockwise from the x-axis to the starting point of the arc</param>
            <param name="sweepAngle">Angle in degrees measured clockwise from the startAngle parameter to ending point of the arc</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawArc(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Draws an arc representing a portion of an ellipse specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the arc</param>
            <param name="x">X-coordinate of the upper-left corner of the rectangle that defines the arc</param>
            <param name="y">Y-coordinate of the upper-left corner of the rectangle that defines the arc</param>
            <param name="width">Width of the rectangle that defines the arc</param>
            <param name="height">Height of the rectangle that defines the arc</param>
            <param name="startAngle">Angle in degrees measured clockwise from the x-axis to the starting point of the arc</param>
            <param name="sweepAngle">Angle in degrees measured clockwise from the startAngle parameter to ending point of the arc</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawBezier(System.Drawing.Pen,System.Drawing.Point,System.Drawing.Point,System.Drawing.Point,System.Drawing.Point)">
            <summary>
            Draws a Bezier spline defined by four Point structures.
            </summary>
            <param name="pen">Pen structure that determines the color, width, and style of the curve</param>
            <param name="pt1">Point structure that represents the starting point of the curve</param>
            <param name="pt2">Point structure that represents the first control point for the curve</param>
            <param name="pt3">Point structure that represents the second control point for the curve</param>
            <param name="pt4">Point structure that represents the ending point of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawBezier(System.Drawing.Pen,System.Drawing.PointF,System.Drawing.PointF,System.Drawing.PointF,System.Drawing.PointF)">
            <summary>
            Draws a Bezier spline defined by four Point structures.
            </summary>
            <param name="pen">Pen structure that determines the color, width, and style of the curve</param>
            <param name="pt1">PointF structure that represents the starting point of the curve</param>
            <param name="pt2">PointF structure that represents the first control point for the curve</param>
            <param name="pt3">PointF structure that represents the second control point for the curve</param>
            <param name="pt4">PointF structure that represents the ending point of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawBezier(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Draws a Bezier spline defined by four ordered pairs of coordinates that represent points.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the curve</param>
            <param name="x1">X-coordinate of the starting point of the curve</param>
            <param name="y1">Y-coordinate of the starting point of the curve</param>
            <param name="x2">X-coordinate of the first control point of the curve</param>
            <param name="y2">Y-coordinate of the first control point of the curve</param>
            <param name="x3">X-coordinate of the second control point of the curve</param>
            <param name="y3">Y-coordinate of the second control point of the curve</param>
            <param name="x4">X-coordinate of the ending point of the curve</param>
            <param name="y4">Y-coordinate of the ending point of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawClosedCurve(System.Drawing.Pen,System.Drawing.Point[])">
            <summary>
            Draws a closed cardinal spline defined by an array of Point structures.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of Point structures that define the spline</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawClosedCurve(System.Drawing.Pen,System.Drawing.PointF[])">
            <summary>
            Draws a closed cardinal spline defined by an array of PointF structures.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of PointF structures that define the spline</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawClosedCurve(System.Drawing.Pen,System.Drawing.Point[],System.Single,System.Drawing.Drawing2D.FillMode)">
            <summary>
            Draws a closed cardinal spline defined by an array of Point structures using a specified tension.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of Point structures that define the spline</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
            <param name="fillmode">Member of the FillMode enumeration that determines how the curve is filled. This parameter is required but ignored</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawClosedCurve(System.Drawing.Pen,System.Drawing.PointF[],System.Single,System.Drawing.Drawing2D.FillMode)">
            <summary>
            Draws a closed cardinal spline defined by an array of PointF structures using a specified tension.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of PointF structures that define the spline</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
            <param name="fillmode">Member of the FillMode enumeration that determines how the curve is filled. This parameter is required but ignored</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.Point[])">
            <summary>
            Draws a cardinal spline through a specified array of Point structures.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of Point structures that define the spline</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.PointF[])">
            <summary>
            Draws a cardinal spline through a specified array of PointF structures.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of PointF structures that define the spline</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.Point[],System.Single)">
            <summary>
            Draws a cardinal spline through a specified array of Point structures using a specified tension.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of Point structures that define the spline</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.PointF[],System.Single)">
            <summary>
            Draws a cardinal spline through a specified array of PointF structures using a specified tension.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of PointF structures that define the spline</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.PointF[],System.Int32,System.Int32)">
            <summary>
            Draws a cardinal spline through a specified array of PointF structure. The drawing begins offset from the beginning of the array.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of PointF structures that define the spline</param>
            <param name="offset">Offset from the first element in the array of the points parameter to the starting point in the curve</param>
            <param name="numberOfSegments">Number of segments after the starting point to include in the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.Point[],System.Int32,System.Int32,System.Single)">
            <summary>
            Draws a cardinal spline through a specified array of Point structures using a specified tension. The drawing begins offset from the beginning of the array.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of Point structures that define the spline</param>
            <param name="offset">Offset from the first element in the array of the points parameter to the starting point in the curve</param>
            <param name="numberOfSegments">Number of segments after the starting point to include in the curve</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.PointF[],System.Int32,System.Int32,System.Single)">
            <summary>
            Draws a cardinal spline through a specified array of PointF structures using a specified tension. The drawing begins offset from the beginning of the array.
            </summary>
            <param name="pen">Pen object that determines the color, width, and height of the curve</param>
            <param name="points">Array of PointF structures that define the spline</param>
            <param name="offset">Offset from the first element in the array of the points parameter to the starting point in the curve</param>
            <param name="numberOfSegments">Number of segments after the starting point to include in the curve</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawEllipse(System.Drawing.Pen,System.Drawing.Rectangle)">
            <summary>
            Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the ellipse</param>
            <param name="rectangle">Rectangle structure that defines the boundaries of the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawEllipse(System.Drawing.Pen,System.Drawing.RectangleF)">
            <summary>
            Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the ellipse</param>
            <param name="rectangle">RectangleF structure that defines the boundaries of the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawEllipse(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the ellipse</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawEllipse(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Draws an ellipse defined by a bounding rectangle specified by a pair of coordinates, a height, and a width.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the ellipse</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawLine(System.Drawing.Pen,System.Drawing.Point,System.Drawing.Point)">
            <summary>
            Draws a line connecting the two points specified by coordinate pairs.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the line</param>
            <param name="pt1">Point structure that represents the first point to connect</param>
            <param name="pt2">Point structure that represents the second point to connect</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawLine(System.Drawing.Pen,System.Drawing.PointF,System.Drawing.PointF)">
            <summary>
            Draws a line connecting the two points specified by coordinate pairs.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the line</param>
            <param name="pt1">PointF structure that represents the first point to connect</param>
            <param name="pt2">PointF structure that represents the second point to connect</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawLine(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Draws a line connecting the two points specified by coordinate pairs.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the line</param>
            <param name="x1">X-coordinate of the first point</param>
            <param name="y1">Y-coordinate of the first point</param>
            <param name="x2">X-coordinate of the second point</param>
            <param name="y2">Y-coordinate of the second point</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawLine(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Draws a line connecting the two points specified by coordinate pairs.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the line</param>
            <param name="x1">X-coordinate of the first point</param>
            <param name="y1">Y-coordinate of the first point</param>
            <param name="x2">X-coordinate of the second point</param>
            <param name="y2">Y-coordinate of the second point</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawLine(System.Drawing.Color,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Draws a line connecting the two points specified by coordinate pairs.
            </summary>
            <param name="color">The color.</param>
            <param name="thickness">The thickness.</param>
            <param name="x1">X-coordinate of the first point</param>
            <param name="y1">Y-coordinate of the first point</param>
            <param name="x2">X-coordinate of the second point</param>
            <param name="y2">Y-coordinate of the second point</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawPath(System.Drawing.Pen,System.Drawing.Drawing2D.GraphicsPath)">
            <summary>
            Draws a GraphicsPath object.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the path</param>
            <param name="path">GraphicsPath object to draw</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawPie(System.Drawing.Pen,System.Drawing.Rectangle,System.Single,System.Single)">
            <summary>
            Draws a pie shape defined by an ellipse specified by a Rectangle structure and two radial lines.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the pie shape</param>
            <param name="rectangle">Rectangle structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape</param>
            <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawPie(System.Drawing.Pen,System.Drawing.RectangleF,System.Single,System.Single)">
            <summary>
            Draws a pie shape defined by an ellipse specified by a RectangleF structure and two radial lines.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the pie shape</param>
            <param name="rectangle">RectangleF structure that represents the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape</param>
            <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawPie(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32,System.Single,System.Single)">
            <summary>
            Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, and a height and two radial lines.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the pie shape</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape</param>
            <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawPie(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Draws a pie shape defined by an ellipse specified by a coordinate pair, a width, and a height and two radial lines.
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the pie shape</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape</param>
            <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawRectangle(System.Drawing.Pen,System.Drawing.Rectangle)">
            <summary>
            Draws a rectangle specified by a coordinate pair, a width, and a height.
            </summary>
            <param name="pen">Draws a rectangle specified by a coordinate pair, a width, and a height</param>
            <param name="rectangle">A Rectangle structure that represents the rectangle to draw</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawRectangle(System.Drawing.Pen,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Draws a rectangle specified by a coordinate pair, a width, and a height.
            </summary>
            <param name="pen">Draws a rectangle specified by a coordinate pair, a width, and a height</param>
            <param name="x">X-coordinate of the upper-left corner of the rectangle to draw</param>
            <param name="y">Y-coordinate of the upper-left corner of the rectangle to draw</param>
            <param name="width">Width of the rectangle to draw</param>
            <param name="height">Height of the rectangle to draw</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawRectangle(System.Drawing.Pen,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Draws a rectangle specified by a coordinate pair, a width, and a height.
            </summary>
            <param name="pen">Draws a rectangle specified by a coordinate pair, a width, and a height</param>
            <param name="x">X-coordinate of the upper-left corner of the rectangle to draw</param>
            <param name="y">Y-coordinate of the upper-left corner of the rectangle to draw</param>
            <param name="width">Width of the rectangle to draw</param>
            <param name="height">Height of the rectangle to draw</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawPolygon(System.Drawing.Pen,System.Drawing.Point[])">
            <summary>
            Draws a polygon defined by an array of Point structures.	
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the polygon</param>
            <param name="points">Array of Point structures that represent the vertices of the polygon</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawPolygon(System.Drawing.Pen,System.Drawing.PointF[])">
            <summary>
            Draws a polygon defined by an array of Point structures.	
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the polygon</param>
            <param name="points">Array of PointF structures that represent the vertices of the polygon</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawString(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.PointF)">
            <summary>
            Draws the specified text string at the specified location with the specified Brush and Font objects.
            </summary>
            <param name="s">String to draw</param>
            <param name="font">Font object that defines the text format of the string</param>
            <param name="brush">Brush object that determines the color and texture of the drawn text</param>
            <param name="point">PointF structure that specifies the upper-left corner of the drawn text</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawString(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.RectangleF)">
            <summary>
            Draws the specified text string in the specified rectangle with the specified Brush and Font objects.
            </summary>
            <param name="s">String to draw</param>
            <param name="font">Font object that defines the text format of the string</param>
            <param name="brush">Brush object that determines the color and texture of the drawn text</param>
            <param name="rectangle">RectangleF structure that specifies the location of the drawn text</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawString(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.PointF,System.Drawing.StringFormat)">
            <summary>
            Draws the specified text string at the specified location with the specified Brush and Font objects using the formatting attributes of the specified StringFormat object.
            </summary>
            <param name="s">String to draw</param>
            <param name="font">Font object that defines the text format of the string</param>
            <param name="brush">Brush object that determines the color and texture of the drawn text</param>
            <param name="point">PointF structure that specifies the upper-left corner of the drawn text</param>
            <param name="format">StringFormat object that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawString(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.RectangleF,System.Drawing.StringFormat)">
            <summary>
            Draws the specified text string in the specified rectangle with the specified Brush and Font objects using the formatting attributes of the specified StringFormat object.
            </summary>
            <param name="s">String to draw</param>
            <param name="font">Font object that defines the text format of the string</param>
            <param name="brush">Brush object that determines the color and texture of the drawn text</param>
            <param name="rectangle">RectangleF structure that specifies the location of the drawn text</param>
            <param name="format">StringFormat object that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawString(System.String,System.Drawing.Font,System.Drawing.Brush,System.Drawing.RectangleF,System.Drawing.StringFormat,System.Boolean)">
            <summary>
            Internal use only.
            </summary>
            <param name="s"></param>
            <param name="font"></param>
            <param name="brush"></param>
            <param name="rectangle"></param>
            <param name="format"></param>
            <param name="singleLine"></param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawString(System.String,System.Drawing.Font,System.Drawing.Brush,System.Single,System.Single)">
            <summary>
            Draws the specified text string at the specified location with the specified Brush and Font objects.
            </summary>
            <param name="s">String to draw</param>
            <param name="font">Font object that defines the text format of the string</param>
            <param name="brush">Brush object that determines the color and texture of the drawn text</param>
            <param name="x">x coordinate of the upper-left corner of the drawn text</param>
            <param name="y">y coordinate of the upper-left corner of the drawn text</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.Save">
            <summary>
            Save the current state
            </summary>
            <returns></returns>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.Restore(System.Object)">
            <summary>
            Re-store state
            </summary>
            <param name="state"></param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawString(System.String,System.Drawing.Font,System.Drawing.Brush,System.Single,System.Single,System.Drawing.StringFormat)">
            <summary>
            Draws the specified text string at the specified location with the specified Brush and Font objects using the formatting attributes of the specified StringFormat object.
            </summary>
            <param name="s">String to draw</param>
            <param name="font">Font object that defines the text format of the string</param>
            <param name="brush">Brush object that determines the color and texture of the drawn text</param>
            <param name="x">x coordinate of the upper-left corner of the drawn text</param>
            <param name="y">y coordinate of the upper-left corner of the drawn text</param>
            <param name="format">StringFormat object that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Single,System.Single)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="x">X-coordinate of the upper-left corner of the drawn image</param>
            <param name="y">Y-coordinate of the upper-left corner of the drawn image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Int32,System.Int32)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="x">X-coordinate of the upper-left corner of the drawn image</param>
            <param name="y">Y-coordinate of the upper-left corner of the drawn image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="point">Point structure that represents the location of the upper-left corner of the drawn image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="point">Point structure that represents the location of the upper-left corner of the drawn image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Single,System.Single,System.Boolean)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="x">X-coordinate of the upper-left corner of the drawn image</param>
            <param name="y">Y-coordinate of the upper-left corner of the drawn image</param>
            <param name="keepTransparency">Indicates if we should keep the transparency of the image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="x">X-coordinate of the upper-left corner of the drawn image</param>
            <param name="y">Y-coordinate of the upper-left corner of the drawn image</param>
            <param name="keepTransparency">Indicates if we should keep the transparency of the image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Point,System.Boolean)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="point">Point structure that represents the location of the upper-left corner of the drawn image</param>
            <param name="keepTransparency">Indicates if we should keep the transparency of the image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.PointF,System.Boolean)">
            <summary>
            Draws the specified Image object, using its original physical size, at the specified location.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="point">Point structure that represents the location of the upper-left corner of the drawn image</param>
            <param name="keepTransparency">Indicates if we should keep the transparency of the image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle)">
            <summary>
            Draws the specified Image object at the specified location and with the specified size.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="rectangle">Rectangle structure that specifies the location and size of the drawn image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.RectangleF)">
            <summary>
            Draws the specified Image object at the specified location and with the specified size.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="rectangle">Rectangle structure that specifies the location and size of the drawn image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.RectangleF,System.Boolean)">
            <summary>
            Draws the specified Image object at the specified location and with the specified size.
            </summary>
            <param name="image">Image object to draw</param>
            <param name="rectangle">Rectangle structure that specifies the location and size of the drawn image</param>
            <param name="keepTransparency">Indicates if we should keep the transparency of the image</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillClosedCurve(System.Drawing.Brush,System.Drawing.Point[])">
            <summary>
            Fills the interior a closed cardinal spline curve defined by an array of Point structures.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of Point structures that define the spline</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillClosedCurve(System.Drawing.Brush,System.Drawing.PointF[])">
            <summary>
            Fills the interior a closed cardinal spline curve defined by an array of PointF structures.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of PointF structures that define the spline</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillClosedCurve(System.Drawing.Brush,System.Drawing.Point[],System.Drawing.Drawing2D.FillMode)">
            <summary>
            Fills the interior a closed cardinal spline curve defined by an array of Point structures using the specified fill mode.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of Point structures that define the spline</param>
            <param name="fillmode">Member of the FillMode enumeration that determines how the curve is filled</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillClosedCurve(System.Drawing.Brush,System.Drawing.PointF[],System.Drawing.Drawing2D.FillMode)">
            <summary>
            Fills the interior a closed cardinal spline curve defined by an array of PointF structures using the specified fill mode.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of PointF structures that define the spline</param>
            <param name="fillmode">Member of the FillMode enumeration that determines how the curve is filled</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillClosedCurve(System.Drawing.Brush,System.Drawing.Point[],System.Drawing.Drawing2D.FillMode,System.Single)">
            <summary>
            Fills the interior a closed cardinal spline curve defined by an array of Point structures using the specified fill mode and tension.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of Point structures that define the spline</param>
            <param name="fillmode">Member of the FillMode enumeration that determines how the curve is filled</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillClosedCurve(System.Drawing.Brush,System.Drawing.PointF[],System.Drawing.Drawing2D.FillMode,System.Single)">
            <summary>
            Fills the interior a closed cardinal spline curve defined by an array of PointF structures using the specified fill mode and tension.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of PointF structures that define the spline</param>
            <param name="fillmode">Member of the FillMode enumeration that determines how the curve is filled</param>
            <param name="tension">Value greater than or equal to 0.0F that specifies the tension of the curve</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillEllipse(System.Drawing.Brush,System.Drawing.Rectangle)">
            <summary>
            Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="rectangle">Rectangle structure that represents the bounding rectangle that defines the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillEllipse(System.Drawing.Brush,System.Drawing.RectangleF)">
            <summary>
            Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="rectangle">RectangleF structure that represents the bounding rectangle that defines the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillEllipse(System.Drawing.Brush,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillEllipse(System.Drawing.Brush,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Fills the interior of an ellipse defined by a bounding rectangle specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillPie(System.Drawing.Brush,System.Drawing.Rectangle,System.Single,System.Single)">
            <summary>
            Fills the interior of a pie section defined by an ellipse specified by a Rectangle structure and two radial lines.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="rectangle">Rectangle structure that represents the bounding rectangle that defines the ellipse from which the pie section comes</param>
            <param name="startAngle">Angle in degrees measured clockwise from the x-axis to the first side of the pie section</param>
            <param name="sweepAngle">Angle in degrees measured clockwise from the startAngle parameter to the second side of the pie section</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillPie(System.Drawing.Brush,System.Int32,System.Int32,System.Int32,System.Int32,System.Single,System.Single)">
            <summary>
            Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, and a height and two radial lines.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape</param>
            <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillPie(System.Drawing.Brush,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Fills the interior of a pie section defined by an ellipse specified by a pair of coordinates, a width, and a height and two radial lines.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="x">X-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="y">Y-coordinate of the upper-left corner of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="width">Width of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="height">Height of the bounding rectangle that defines the ellipse from which the pie shape comes</param>
            <param name="startAngle">Angle measured in degrees clockwise from the x-axis to the first side of the pie shape</param>
            <param name="sweepAngle">Angle measured in degrees clockwise from the startAngle parameter to the second side of the pie shape</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillRectangle(System.Drawing.Brush,System.Drawing.Rectangle)">
            <summary>
            Fills the interior of a rectangle specified by a Rectangle structure.Filled area determined by FillMode.Alternate
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="rectangle">Rectangle structure that represents the rectangle to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillRectangle(System.Drawing.Brush,System.Drawing.RectangleF)">
            <summary>
            Fills the interior of a rectangle specified by a Rectangle structure.Filled area determined by FillMode.Alternate
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="rectangle">RectangleF structure that represents the rectangle to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillRectangle(System.Drawing.Brush,System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="x">X-coordinate of the upper-left corner of the rectangle to fill</param>
            <param name="y">Y-coordinate of the upper-left corner of the rectangle to fill</param>
            <param name="width">Width of the rectangle to fill</param>
            <param name="height">Height of the rectangle to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillRectangle(System.Drawing.Brush,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="x">X-coordinate of the upper-left corner of the rectangle to fill</param>
            <param name="y">Y-coordinate of the upper-left corner of the rectangle to fill</param>
            <param name="width">Width of the rectangle to fill</param>
            <param name="height">Height of the rectangle to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillRectangle(System.Drawing.Color,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Fills the interior of a rectangle specified by a pair of coordinates, a width, and a height.
            </summary>
            <param name="fillColor">Brush object that determines the characteristics of the fill</param>
            <param name="x">X-coordinate of the upper-left corner of the rectangle to fill</param>
            <param name="y">Y-coordinate of the upper-left corner of the rectangle to fill</param>
            <param name="width">Width of the rectangle to fill</param>
            <param name="height">Height of the rectangle to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillPolygon(System.Drawing.Brush,System.Drawing.Point[])">
            <summary>
            Fills the interior of a polygon defined by an array of points specified by Point structures.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of Point structures that represent the vertices of the polygon to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillPolygon(System.Drawing.Brush,System.Drawing.PointF[])">
            <summary>
            Fills the interior of a polygon defined by an array of points specified by Point structures.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of PointF structures that represent the vertices of the polygon to fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillPolygon(System.Drawing.Brush,System.Drawing.Point[],System.Drawing.Drawing2D.FillMode)">
            <summary>
            Fills the interior of a polygon defined by an array of points specified by Point structures using the specified fill mode.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of Point structures that represent the vertices of the polygon to fill</param>
            <param name="fillmode">Member of the FillMode enumeration that determines the style of the fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.FillPolygon(System.Drawing.Brush,System.Drawing.PointF[],System.Drawing.Drawing2D.FillMode)">
            <summary>
            Fills the interior of a polygon defined by an array of points specified by Point structures using the specified fill mode.
            </summary>
            <param name="brush">Brush object that determines the characteristics of the fill</param>
            <param name="points">Array of Point structures that represent the vertices of the polygon to fill</param>
            <param name="fillmode">Member of the FillMode enumeration that determines the style of the fill</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip(System.Drawing.Drawing2D.GraphicsPath)">
            <summary>
            Sets the clipping region of this Graphics object to the specified GraphicsPath object.
            </summary>
            <param name="path">GraphicsPath object that represents the new clip region</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip(System.Drawing.Rectangle)">
            <summary>
            Sets the clipping region of this Graphics object to the rectangle specified by a Rectangle structure.
            </summary>
            <param name="rectangle">Rectangle structure that represents the new clip region</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip(System.Drawing.RectangleF)">
            <summary>
            Sets the clipping region of this Graphics object to the rectangle specified by a RectangleFSS structure.
            </summary>
            <param name="rectangle">RectangleF structure that represents the new clip region</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip(System.Drawing.Drawing2D.GraphicsPath,System.Drawing.Drawing2D.CombineMode)">
            <summary>
            Sets the clipping region of this Graphics object to the result of the specified operation combining the current clip region and the specified GraphicsPath object.
            </summary>
            <param name="path">GraphicsPath object that represents the new clip region</param>
            <param name="mode">Member of the CombineMode enumeration that specifies the combining operation to use</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip(System.Drawing.Rectangle,System.Drawing.Drawing2D.CombineMode)">
            <summary>
            Sets the clipping region of this Graphics object to the result of the specified operation combining the current clip region and the rectangle specified by a Rectangle structure.
            </summary>
            <param name="rectangle">Rectangle structure to combine</param>
            <param name="mode">Member of the CombineMode enumeration that specifies the combining operation to use</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip(System.Drawing.RectangleF,System.Drawing.Drawing2D.CombineMode)">
            <summary>
            Sets the clipping region of this Graphics object to the result of the specified operation combining the current clip region and the rectangle specified by a RectangleF structure.
            </summary>
            <param name="rectangle">RectangleF structure to combine</param>
            <param name="mode">Member of the CombineMode enumeration that specifies the combining operation to use</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip``1(``0)">
            <summary>Sets the clip dynamically which depends on clipData.</summary>
            <typeparam name="T">Currently, the function support: Rectangle, RectangleF, Point[], PointF[]</typeparam>
            <param name="clipData">The clip data.</param>
            <remarks>This function is internal use only.</remarks>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip``1(``0,System.Drawing.Drawing2D.CombineMode)">
            <summary>Sets the clip dynamically which depends on clipData.</summary>
            <typeparam name="T">Currently, the function support: Rectangle, RectangleF, Point[], PointF[]</typeparam>
            <param name="clipData">The clip data.</param>
            <param name="mode">The clipping combination mode.</param>
            <remarks>This function is internal use only.</remarks>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.SetClip(System.Drawing.Region,System.Drawing.Drawing2D.CombineMode)">
            <summary>
            Sets the clipping region of this Graphics object to the result of the specified operation combining the current clip region and the specified Region object.
            </summary>
            <param name="region">Region object to combine</param>
            <param name="mode">Member of the CombineMode enumeration that specifies the combining operation to use</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.MultiplyTransform(System.Drawing.Drawing2D.Matrix)">
            <summary>
            Multiplies the world transformation of this Graphics object and specified the Matrix object.
            </summary>
            <param name="matrix">3x3 Matrix object that multiplies the world transformation</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.MultiplyTransform(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Multiplies the world transformation of this Graphics object and specified the Matrix object in the specified order.
            </summary>
            <param name="matrix">3x3 Matrix object that multiplies the world transformation</param>
            <param name="order">Member of the MatrixOrder enumeration that determines the order of the multiplication</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.RotateTransform(System.Single)">
            <summary>
            Applies the specified rotation to the transformation matrix of this Graphics object.
            </summary>
            <param name="angle">Angle of rotation in degrees</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.RotateTransform(System.Single,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Applies the specified rotation to the transformation matrix of this Graphics object in the specified order.
            </summary>
            <param name="angle">Angle of rotation in degrees</param>
            <param name="order">Member of the MatrixOrder enumeration that determines the order of the multiplication</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.ScaleTransform(System.Single,System.Single)">
            <summary>
            Applies the specified scaling operation to the transformation matrix of this Graphics object by prepending it to the object's transformation matrix.
            </summary>
            <param name="sx">Scale factor in the x direction</param>
            <param name="sy">Scale factor in the y direction</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.ScaleTransform(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Applies the specified scaling operation to the transformation matrix of this Graphics object in the specified order.
            </summary>
            <param name="sx">Scale factor in the x direction</param>
            <param name="sy">Scale factor in the y direction</param>
            <param name="order">Member of the MatrixOrder enumeration that determines the order of the multiplication</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.TranslateTransform(System.Single,System.Single)">
            <summary>
            Prepends the specified translation to the transformation matrix of this Graphics object.
            </summary>
            <param name="dx">x component of the translation</param>
            <param name="dy">y component of the translation</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.TranslateTransform(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>  
            Applies the specified translation to the transformation matrix of this Graphics object in the specified order.
            </summary>
            <param name="dx">x component of the translation</param>
            <param name="dy">y component of the translation</param>
            <param name="order">Member of the MatrixOrder enumeration that determines the order of the multiplication</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.ResetTransform">
            <summary>
            Resets the world transformation matrix of this Graphics object to the identity matrix.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.ResetClip">
            <summary>
            Resets the Clipboard operation.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Graphics.Clip">
            <summary>
            Gets or sets the Clipboard operation.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Graphics.Transform">
            <summary>
            Gets or sets the world transformation for this Graphics object.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Graphics.PageUnit">
            <summary>
            Gets or sets the unit of measure used for page coordinates in this Graphics object.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Graphics.Dpi">
            <summary>
            Gets or sets the resolution (in dots per inch or pixels per inch).
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DrawCurve(System.Drawing.Pen,System.Drawing.Drawing2D.GraphicsPath)">
            <summary>
            Overloaded Private method for DrawCurve
            </summary>
            <param name="pen">Pen object that determines the color, width, and style of the line</param>
            <param name="path">Path to draw</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.ApplyFontEffects(System.String,System.Drawing.Font,System.Single,System.Drawing.Drawing2D.Matrix,FarPoint.PDF.Objects.FontObject)">
            <summary>
            Applies font effects such as underline, strikethrough, and bold.
            </summary>
            <param name="s">Sting on which affects are to be applied</param>
            <param name="font">Font specified for string</param>
            <param name="textWidth">Width of the text</param>
            <param name="textMatrix">Matrix used to position lines for Underline and striketrough</param>
            <param name="fo">FontObject representation of the string Font</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PointFactor(System.Drawing.GraphicsUnit)">
            <summary>
            Gives the point equivalent of the specified GraphicsUnit.
            </summary>
            <param name="unit">Unit to conver</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.ApplyClipsTransforms">
            <summary>
            Outputs all Cliping and Transformation operation to Pdf stream before any drawing takes place.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.Matrix_Transformed(System.Object,FarPoint.PDF.Drawing.Matrix.TranformedEventArgs)">
            <summary>
            Handles the Transformed event for PDF.Drawing.Matrix object.
            </summary>
            <param name="sender">Source of the event</param>
            <param name="e">TranformedEventArgs contain the transformation done and the parameters of the transformation</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PushState(FarPoint.PDF.Drawing.GraphicState)">
            <summary>
            Pushes the GraphicsState object onto GraphicsStateStack. Used to maintain the Graphics states
            before and after operators q or Q is applied
            </summary>
            <param name="state">GraphicsState object to push</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.PopState">
            <summary>
            Pops the GraphicsState object from GraphicsStateStack. Used to maintain the Graphics states
            before and after operators q or Q is applied
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.RegionPoints(System.Drawing.Region)">
            <summary>
            Gets an ArrayList of PointF array elements. This is the point representation of Region value;
            </summary>
            <param name="region">Region to be converted to PointF array</param>
            <returns>ArrayList of PointF[] elements</returns>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.OptimizeRegionPoints(System.Drawing.Region)">
            <summary>
            Gets an ArrayList of PointF array elements. This is the optimized point representation of Region value.
            </summary>
            <param name="region">Region to be converted to PointF array</param>
            <returns>ArrayList of PointF[] elements</returns>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.MatrixOperation(System.Drawing.Drawing2D.Matrix@,FarPoint.PDF.Drawing.Graphics.Operation,System.Boolean)">
            <summary>
            Performs matrix operation specified by the operation (op structure).
            </summary>
            <param name="matrix">Matrix</param>
            <param name="op">Operation</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.GetAngle(System.Drawing.PointF,System.Drawing.PointF)">
            <summary>
            Returns the angle that the line joining pt1 and pt2 makes with origin.
            </summary>
            <param name="pt1">Point 1</param>
            <param name="pt2">Point 2</param>
            <returns>Angle in degrees</returns>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.DeleteRedundantClips(System.Int32)">
            <summary>
            Deletes the redundant clips.
            </summary>
            <param name="lastClipLoc">Last clip location</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.Commit">
            <summary>
            Clears all the saved states.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.Graphics.Operation">
            <summary>
            Objects of this class are stored in the Arraylist _operationList
            Specify the tranformation or clipping operations and their parameters
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Graphics.Dispose">
            <summary>
            Disposes resources.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.GraphicStateStack">
            <summary>
            Stack Implementation for storing Graphics state
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.GraphicState">
            <summary>
            This class stores the current graphic state of the PDF document such as ForeColor,PaintColor,LineWidth
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.GraphicState.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.TextState">
            <summary>
            Setting specific to Text state stored here
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.Matrix">
            <summary>
            Represents a wrapper for System.Drawing.Drawing2D.Matrix,
            which raises events whenever a matrix transformation is performed.
            </summary>
        </member>
        <member name="E:FarPoint.PDF.Drawing.Matrix.Transformed">
            <summary>
            Occurs when a transformation is performed.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.#ctor">
            <summary>
            Creates a new transform matrix with default values.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a new transform matrix with the specified parameters.
            </summary>
            <param name="m11">m11</param>
            <param name="m12">m12</param>
            <param name="m21">m21</param>
            <param name="m22">m22</param>
            <param name="dx">dx</param>
            <param name="dy">dy</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.#ctor(System.Drawing.Drawing2D.Matrix)">
            <summary>
            Creates a new transform matrix.
            </summary>
            <param name="matrix">Matrix</param>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.Elements">
            <summary>
            Gets the elements.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.IsIdentity">
            <summary>
            Gets whether the tranformation is identity.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.IsInvertible">
            <summary>
            Gets whether the tranformation is invertible.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.OffsetX">
            <summary>
            Gets the horizontal (X) offset.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.OffsetY">
            <summary>
            Gets the vertical (Y) offset.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.TransformMatrix">
            <summary>
            Gets the clone of the tranformation matrix.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Clone">
            <summary>
            Clones.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Multiply(FarPoint.PDF.Drawing.Matrix)">
            <summary>
            Multiplies.
            </summary>
            <param name="matrix">Matrix</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Multiply(System.Drawing.Drawing2D.Matrix)">
            <summary>
            Multiplies.
            </summary>
            <param name="matrix">Matrix</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Multiply(FarPoint.PDF.Drawing.Matrix,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Multiplies.
            </summary>
            <param name="matrix">Matrix</param>
            <param name="order">Matrix order</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Multiply(System.Drawing.Drawing2D.Matrix,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Multiplies.
            </summary>
            <param name="matrix">Matrix</param>
            <param name="order">Matrix order</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Reset">
            <summary>
            Resets.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Rotate(System.Single)">
            <summary>
            Rotates.
            </summary>
            <param name="angle">Rotation angle</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Rotate(System.Single,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Rotates.
            </summary>
            <param name="angle">Rotation angle</param>
            <param name="order">Matrix order</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Scale(System.Single,System.Single)">
            <summary>
            Scales.
            </summary>
            <param name="scaleX">Scale in horizontal, X, direction</param>
            <param name="scaleY">Scale in vertical, Y, direction</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Scale(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Scales.
            </summary>
            <param name="scaleX">Scale in horizontal, X, direction</param>
            <param name="scaleY">Scale in vertical, Y, direction</param>
            <param name="order">Matrix order</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Translate(System.Single,System.Single)">
            <summary>
            Translates.
            </summary>
            <param name="offsetX">Offset in horizontal, X, direction</param>
            <param name="offsetY">Offset in vertical, Y, direction</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Translate(System.Single,System.Single,System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Translates.
            </summary>
            <param name="offsetX">Offset in horizontal, X, direction</param>
            <param name="offsetY">Offset in vertical, Y, direction</param>
            <param name="order">Matrix order</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Dispose">
            <summary>
            Disposes the managed resources and frees up resources.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Dispose(System.Boolean)">
            <summary>
            Disposes the managed resources.
            </summary>
            <param name="disposing">Whether disposing</param>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.Finalize">
            <summary>
            This destructor runs only if the Dispose method does not get called; 
            it gives your base class the opportunity to finalize.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.Matrix.TranformedEventArgs">
            <summary>
            Represents the trasformation performed and the parameters for the transformation.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Drawing.Matrix.TranformedEventArgs.#ctor(System.String,System.Object[],System.Drawing.Drawing2D.MatrixOrder)">
            <summary>
            Creates a new transformation event arguments object.
            </summary>
            <param name="tranform">Transform</param>
            <param name="parameters">Parameters</param>
            <param name="order">Matrix order</param>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.TranformedEventArgs.TransformType">
            <summary>
            Gets the transformation type.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.TranformedEventArgs.Parameters">
            <summary>
            Gets the parameters.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Drawing.Matrix.TranformedEventArgs.Order">
            <summary>
            Gets the matrix order.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Drawing.Matrix.TransformEventHandler">
            <summary>
            Represents a defined method that handles the Transform event.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.PdfEncryption">
            <summary>
            Summary description for PdfEncryption. Refer Active Report
            or refer this link to know more about RC4: https://en.wikipedia.org/wiki/RC4
            or refer this link to know more about PDF 1.4 format (structure) and encryption (chapter 3.5): http://www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/pdf_reference_archives/PDFReference.pdf
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfEncryption.passwordPadding">
            This is a "padding string" used to this.passwordPadding password strings that are less than 32 bytes.  
            If the password string is less than 32 bytes then it needs padded by appending the 
            required number of additional bytes from the begining of this padding string.
        </member>
        <member name="F:FarPoint.PDF.PdfEncryption.state">
            This is the state table used for mixing in the RC4 algorithm.
        </member>
        <!-- Badly formed XML comment ignored for member "F:FarPoint.PDF.PdfEncryption.x" -->
        <!-- Badly formed XML comment ignored for member "F:FarPoint.PDF.PdfEncryption.y" -->
        <member name="F:FarPoint.PDF.PdfEncryption.mkey">
            The encryption key used to encrypt the contents of the document.
        </member>
        <member name="F:FarPoint.PDF.PdfEncryption.key">
            The encryption key for a particular object/generation that is being encrypted.  This is initialized before each object is encrypted by PreparePdfObjectKey, it is prepared in conjunction with mkey.
        </member>
        <member name="F:FarPoint.PDF.PdfEncryption.keySize">
            The encryption key length for a particular object/generation that is being encrypted.
        </member>
        <member name="F:FarPoint.PDF.PdfEncryption.ownerKey">
            The encryption key for the owner password.
        </member>
        <member name="F:FarPoint.PDF.PdfEncryption.userKey">
            The encryption key for the user user password.
        </member>
        <member name="F:FarPoint.PDF.PdfEncryption.extra">
            temp buffer used in a couple locations.
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.#ctor(FarPoint.PDF.PdfSecurity)">
            <summary>
            Initializes a new instance of the PdfEncryption class.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.Finalize">
            <summary>
            Destructor frees the MD5 class used throughout this object.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.Dispose(System.Boolean)">
            <summary>
            Disposable pattern implementation.
            </summary>
            <param name="disposing">
            True if called directly from code to cause managed resources to also be disposed.
            False if called by a finalizer to cause only unmanaged resources to be freed.
            </param>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.Dispose">
            <summary>
            Implementation of IDisposable.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.SetupAllKeys(System.Byte[],System.Byte[],System.UInt32,System.Boolean)">
            <summary>
            Sets up all keys to encrypt the document.
            </summary>
            <param name="userPassword">The user password for the document.  If the userpassword is null or empty, no prompt with be given when the document is opened.</param>
            <param name="ownerPassword">The owner password for the document. If the owner password is not specified or is empty, a random value will be used!</param>
            <param name="perms"></param>
            <param name="strength128Bits">True if a 128 bit key is used, and Revsion 3 security is used.  False if 40 bit key is used, and only revision 2 security is supported.</param>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.WriteEncryptionDictionary(System.Int32,System.IO.Stream)">
            <summary>
            Writes the entire Encryption dictionary out.  The Encrypt entry value is written out.		/// This includes the trailer, but not the /Encrypt name, just the value.
            </summary>
            <param name="objId"></param>
            <param name="m_Stream"></param>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.EncryptString(System.String,System.Int32,System.Int32,System.Boolean)">
            <summary>
            Encrypts the specified "text string" object using RC4 and returns the encrypted string as bytes.
            </summary>
            <param name="str">The string to encrypt.</param>
            <param name="objectNumber">
            The object number from the object of the string or stream to be encrypted.  This is used to create the encryption key.
            If the string is a direct object, use the identifier from the indirect object that contains it.
            </param>
            <param name="objectGeneration">
            The generated number from the object of the string or stream to be encrypted.  This is used to create the encryption key.
            If the string is a direct object, use the generated number from the indirect object that contains it.
            </param>
            <param name="useUnicode">True to use Unicode encoding to encode the string to bytes. The resulting bytes will have the unicode byte order mark present. If false is specified the string is expected to be simple ASCII/latin encoding.</param>
            <remarks>
            This function performs the following four steps to encrypt the string:
            1 - Covnerts the string to ASCII bytes.
            2 - Initializes the RC4 algorithm by prepping the object key based on the specified object number and generation number.
            3 - Encrypts the string using EncryptRC4.
            4 - Escapes the string so no special characters appear in the value.
            The returned data can be written directly to the PDF stream, no further processing is necessary.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.PreparePdfObjectKey(System.Int32,System.Int32)">
            <summary>
            This should be called before any PDF object (string or stream) calls one of the EncryptRC4 methods.
            </summary>
            <param name="number">
            The object number from the object of the string or stream to be encrypted.  
            If the string is a direct object, uses the identifier from the indirect object that contains it.
            </param>
            <param name="generation">
            The generated number from the object of the string or stream to be encrypted.  
            If the string is a direct object, uses the generated number from the indirect object that contains it.
            </param>
            <remarks>
            See Algorithm 3.1, "Encryption of data using an encryption key" of "PDF Reference 1.4 Third Edition".
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.PrepareRC4Key(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Performs the initialization step (sate/key swaping) of the RC4 encryption algorithm.
            </summary>
            <param name="key">The array containing the key to use to encrypt.</param>
            <param name="off">Offset into the array where the key begins.</param>
            <param name="len">The length of the key.</param>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.EncryptRC4(System.Byte[],System.Int32,System.Int32,System.Byte[])">
            <summary>
            Performs the second step (the actual encryption using the key prepared in PrepareRC4Key) of the RC4 encryption algorithm.
            </summary>
            <param name="dataIn"></param>
            <param name="off"></param>
            <param name="len"></param>
            <param name="dataOut"></param>
        </member>
        <member name="P:FarPoint.PDF.PdfEncryption.DocumentID">
            <summary>
            Returns a FileID value that should be written to the document's trailer to uniquly identify the docuemnt.  It is also used to setup the encryption keys.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.PdfEncryption.CreateDocumentID">
            <summary>
            Generates a new random "file identifier" for the document.  
            </summary>
            <returns>
            This value should be created only once per document and stored as the ID value of the trailer dictionary.  
            See section 9.3 "File Identifers" of "PDF Reference Third Edition 1.4".
            This value is also used for generating encryption keys.
            </returns>
        </member>
        <member name="T:FarPoint.PDF.PdfSecurity">
            <summary>
            Encapsulates the information necessary to provide PDF document security and encryption.
            </summary>
            <remarks>
            If a user password is supplied the viewer application should prompt for a password.
            If a user password is not supplied no password will be requested to open the document.
            By correctly supplying either the user password or the owner password, the user will be able to open the document, decrypt it, and display it on the screen.
            Whether additional operations are allowed on a decrypted document depends on which password (if any) was supplied when the document was opened and on any access restrictions specified using this class's <see cref="P:FarPoint.PDF.PdfSecurity.Permissions"/> property.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.PdfSecurity.#ctor(System.String,System.String,FarPoint.PDF.PdfPermissions)">
            <summary>
            Initializes an instance of the <see cref="T:FarPoint.PDF.PdfSecurity"/> class with the specified passwords and permissions.
            </summary>
            <param name="ownerPassword">The password, that upon being entered, permits the viewer unrestricted access to the document.</param>
            <param name="userPassword">The password, that upon being entered, permits the viewer the permissions as specified in this class's <see cref="P:FarPoint.PDF.PdfSecurity.Permissions"/> property.</param>
            <param name="permissions">The initial <see cref="P:FarPoint.PDF.PdfSecurity.Permissions"/> value for this object.</param>
        </member>
        <member name="M:FarPoint.PDF.PdfSecurity.#ctor(System.String,System.String)">
            <summary>
            Initializes an instance of the <see cref="T:FarPoint.PDF.PdfSecurity"/> class with the specified passwords and default permissions.  By default all permissions are allowed.
            </summary>
            <param name="ownerPassword">The password, that upon being entered, permits the viewer unrestricted access to the document.</param>
            <param name="userPassword">The password, that upon being entered, permits the viewer the permissions as specified in this class's <see cref="P:FarPoint.PDF.PdfSecurity.Permissions"/> property.</param>
        </member>
        <member name="M:FarPoint.PDF.PdfSecurity.#ctor(System.String)">
            <summary>
            Initializes an instance of the <see cref="T:FarPoint.PDF.PdfSecurity"/> class with the specified passwords and default permissions.  By default all permissions are allowed.
            </summary>
            <param name="ownerPassword">The password that permits the viewer unrestricted access to the document.</param>
        </member>
        <member name="P:FarPoint.PDF.PdfSecurity.OwnerPassword">
            <summary>
            The owner password that permits full access to the 
            document regardless of the specified user permissions.  
            </summary>
        </member>
        <member name="P:FarPoint.PDF.PdfSecurity.UserPassword">
            <summary>
            The user password that can be entered in the reader.  If this value is left empty 
            the user will not be prompted for a password; however, the user will be restricted by 
            the specified permissions.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.PdfSecurity.Permissions">
            <summary>
            Specfies the user permissions for the document.  The <see cref="T:FarPoint.PDF.PdfPermissions"/> values can be combined using a bitwise OR combination.
            </summary>
            <remarks>By default all permissions are set and allowed.</remarks>
        </member>
        <member name="M:FarPoint.PDF.PdfSecurity.GetWritablePermissions">
            <summary>
            Prepares the current <see cref="P:FarPoint.PDF.PdfSecurity.Permissions"/> value for writing (there are some special bits that need set/cleared before writing them out) and returns them.
            This method does not modify the current <see cref="P:FarPoint.PDF.PdfSecurity.Permissions"/> value.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.PdfSecurity.Use128Bit">
            <summary>
            Set to True to use 128 bit encryption with full permissions capability.  
            Set to False to use lessor 40 bit encryption with limited permissions.
            The <see cref="F:FarPoint.PDF.PdfPermissions.AllowFillIn"/>, <see cref="F:FarPoint.PDF.PdfPermissions.AllowAccessibleReaders"/>, and <see cref="F:FarPoint.PDF.PdfPermissions.AllowAssembly"/> permissions require this value to be true.
            </summary>
            <remarks>The default value is true.</remarks>
        </member>
        <member name="T:FarPoint.PDF.PdfPermissions">
            <summary>
            Specifies the permissions available for a PDF document.
            These values can be combined using a bitwise OR combination.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.None">
            <summary>
            Set to permit printing the document when it is opened with user access permission.  This is a revision 2 permission.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.AllowPrint">
            <summary>
            Set to permit printing the document when it is opened with user access permission.  This is a revision 2 permission.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.AllowModifyContents">
            <summary>
            Set to permit modifying the document’s contents when it is opened with user access permission. Text annotations can still be added or modified.   This is a revision 2 permission.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.AllowCopy">
            <summary>
            Set to permit copying text or graphics from the document when it is opened with user access permission.   This is a revision 2 permission.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.AllowModifyAnnotations">
            <summary>
            Set to permit adding or modifying annotations in the document when it is opened with user access permission.  This permission is a revision 2 or revision 3 permission.  Under revision three, the ability to copy/paste document contents is restricted other than what is specified by bit 10 (AllowAccessibleReaders).
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.AllowFillIn">
            <summary>
            Set to permit filling in form fields in the document when it is opened with user access permission.  This is revision 3 only permission.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.AllowAccessibleReaders">
            <summary>
            Set to permit extracting the text and graphics of the document for accessibility purposes or otherwise (it is most likely for accessibility reasons, but possibly for other “screen reading” purposes) when it is opened with user access permission.  This is revision 3 only permission.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.AllowAssembly">
            <summary>
            Set to permit the following operations when the document is opened with user access permission:Insert, rotate, or delete pages, and create bookmarks or thumbnail images even if AllowModifyContents is false. This is revision 3 only permission.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.PdfPermissions.All">
            <summary>
            Allow all
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Exception">
            <summary>
            Represents an exception.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Exception.enum_Code">
            <summary>Specifies the type of error that caused the exception.</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.enum_Code.ErrNotTrueTypeFont">
            <summary>Exception is caused by the font not being a TrueType font</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.enum_Code.ErrIncorrectFlateStream">
            <summary>Exception is caused by an incorrect (inflated or deflated) data stream</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.enum_Code.ErrIncorrectFontData">
            <summary>Exception is caused by incorrect font data</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.enum_Code.ErrAlreadyProcess">
            <summary>Exception is caused by already being processed</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.enum_Code.ErrUnrecognizedImageFormat">
            <summary>Exception is caused by an unrecognized image format</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.enum_Code.ErrOwnerPassword">
            <summary>Exception is caused by password is null or over length</summary>
        </member>
        <member name="P:FarPoint.PDF.Exception.ErrorCode">
            <summary>Gets the error code.</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.m_ErrorCode">
            <summary>Sets the error code.</summary>
        </member>
        <member name="P:FarPoint.PDF.Exception.Message">
            <summary>Gets the error message.</summary>
        </member>
        <member name="F:FarPoint.PDF.Exception.m_Message">
            <summary>Sets the error message.</summary>
        </member>
        <member name="T:FarPoint.PDF.Exception.ErrIncorrectFontData">
            <summary>Handles the exception caused by incorrect font data.</summary>
        </member>
        <member name="T:FarPoint.PDF.Exception.ErrAlreadyProcess">
            <summary>Handles the exception caused by already being in process.</summary>
        </member>
        <member name="T:FarPoint.PDF.Exception.ErrUnrecognizedImageFormat">
            <summary>Handles the exception caused by an unrecognized image format.</summary>
        </member>
        <member name="T:FarPoint.PDF.Exception.ErrIncorrectFlateStream">
            <summary>Handles the exception caused by an incorrect (inflated or deflated) data stream.</summary>
        </member>
        <member name="T:FarPoint.PDF.Exception.ErrOwnerPassword">
            <summary>Handles the exception caused by password null or over length</summary>
        </member>
        <member name="T:FarPoint.PDF.Exception.ErrUserPassword">
            <summary>Handles the exception caused by password null or over length</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.ImageObject">
            <summary>
            Represents a image in a PDF document.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ImageObject.Name">
            <summary>
            Gets or sets the name of an image object.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ImageObject.Width">
            <summary>
            Gets or sets the width of the original image.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ImageObject.Height">
            <summary>
            Gets or sets the height of the original image.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ImageObject.ColorSpace">
            <summary>
            Gets or sets the colorspace for the image.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ImageObject.BPC">
            <summary>
            Gets or sets the resolution (in bits-per-component).
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ImageObject.EmbedFormat">
            <summary>
            Gets or sets the image embed format, which may be different from original image type.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ImageObject.BaseImage">
            <summary>
            Gets or sets the underlying image.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.#ctor(System.Drawing.Image,FarPoint.PDF.Objects.PDFObjectCollection)">
            <summary>
            Initializes the image object.
            </summary>
            <param name="image">Image to be used</param>
            <param name="objs">Collection of PDf objects in a page</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.#ctor(System.Drawing.Image,FarPoint.PDF.Objects.PDFObjectCollection,System.Boolean)">
            <summary>
            Initializes the image object.
            </summary>
            <param name="image">Image to be used</param>
            <param name="objs">Collection of PDf objects in a page</param>
            <param name="keepTransparent">The image object will try to use BMP type keep pixel transpacency</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.Equals(System.Object)">
            <summary>
            Determines whether the image object is identical to the specified object.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GetHashCode">
            <summary>
            Gets the hash code.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GetFormat(System.Drawing.Image)">
            <summary>
            Returns the image format of the image.
            </summary>
            <param name="image">Image to be used</param>
            <remarks>
            By default all images are embedded in JPEG format except for BMP and GIF.
            </remarks>
            <returns>Type of image</returns>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.ResaveImageMemory(System.Drawing.Image,System.IO.Stream,FarPoint.PDF.Objects.ImageObject.ImageType)">
            <summary>
            Saves the image object into memory in the specified format
            </summary>
            <param name="image">Image to save</param>
            <param name="ostr">Output stream</param>
            <param name="format">Format in which to save</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GetEncoderInfo(System.String)">
            <summary>
            Gets the image encoder information based on the image type.
            </summary>
            <param name="mimeType">Image Mime type</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.UpdateImageData(System.IO.Stream)">
            <summary>
            Updates the image data.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.skip(System.IO.Stream,System.Int32)">
            <summary>
            Skips specific bytes from the memory stream.
            </summary>
            <remarks>
            This method is used by the Image Decoder Classes.
            </remarks>
            <param name="istr">Image stream</param>
            <param name="size">Number of bytes to skip</param>
        </member>
        <member name="T:FarPoint.PDF.Objects.ImageObject.ImageType">
            <summary>
            Specifies the supported image types.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageType.JPEG">
            <summary>[0] JPEG image type</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageType.GIF">
            <summary>[1] GIF image type</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageType.BMP">
            <summary>[2] BMP image type</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.JpegHelper.getShort(System.IO.Stream)">
            <summary>
            Reads the short value from the stream.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.JpegHelper.LoadImageParameters(System.IO.Stream)">
            <summary>
            Gets the image parameters such as width, height, and colorspace.
            </summary>
            <param name="istr">Input image stream</param>
            <returns>ImageParameters structure contains image details</returns>
        </member>
        <member name="T:FarPoint.PDF.Objects.ImageObject.BMPHelper">
            <summary>
            Decodes the bitmap (BMP) image type.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.BMPHelper.LoadImageParameters(System.IO.Stream)">
            <summary>
            Loads the image parameters for the bitmap (BMP) image.
            </summary>
            <param name="istr">Image stream</param>
            <remarks>All bitmap images are converted to Format24bppRgb before embedding is done into PDF.</remarks>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.BMPHelper.GetColorData(System.IO.Stream,System.Int32,System.Int32)">
            <summary>
            Gets the color data (RGB color component) for the image.
            </summary>
            <param name="istr">Image stream</param>
            <param name="w"></param>
            <param name="h"></param>
            <remarks>
            The image is a 24-bit bitmap.
            8-R, 8-G, and 8-B bitmap data are stored in a file in reverse direction with first pixel 
            data stored at the end of the file. This method reverses the data before it is stored in PDF.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.BMPHelper.ReadUSInt(System.IO.Stream)">
            <summary>
            Reads unsigned integers from an input stream.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="T:FarPoint.PDF.Objects.ImageObject.GifHelper">
            <summary>
            Represents the decoder for the GIF image type.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.LoadImageParameters(System.IO.Stream)">
            <summary>
            Loads image parameters from the image stream.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.ReadHeader(System.IO.Stream)">
            <summary>
            Reads the GIF file header information from the image stream.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.ReadLSD(System.IO.Stream)">
            <summary>
            Reads the logical file descriptor from the image stream.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.ReadContent(System.IO.Stream)">
            <summary>
            Reads the content from the image stream.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.ReadImage(System.IO.Stream)">
            <summary>
            Reads the image from the image stream.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.DecodeGifData(System.IO.Stream)">
            <summary>
            Parses the input GIF stream to generate actual GIF data that is assigned to m_out.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.SetPixel(System.Int32,System.Int32,System.Int32,System.Int32)">
            <summary>
            Sets the pixel value in the output GIF data (m_out).
            </summary>
            <param name="m_line_stride">Line stride</param>
            <param name="x">X value</param>
            <param name="y">Y value</param>
            <param name="v">Value</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.ReadGraphicControlExt(System.IO.Stream)">
            <summary>
            Reads the graphics control Extent. Not used just skipped.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.ReadBlock(System.IO.Stream)">
            <summary>
            Reads one block of GIF data at a time.
            </summary>
            <param name="istr">Image stream</param>
            <remarks>The first byte read from the stream specifies the block size.</remarks>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.Skip(System.IO.Stream)">
            <summary>
            Skips all blocks.
            </summary>
            <param name="istr">Image stream</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.ReadColorTable(System.IO.Stream,System.Int32)">
            <summary>
            Reads color table from the input stream.
            </summary>
            <param name="istr">Image stream</param>
            <param name="bpc">Bits per component</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.ImageObject.GifHelper.newBpc(System.Int32)">
            <summary>
            Sets allowed BPC values (1,2,4,8).
            </summary>
            <param name="bpc">Bits per component</param>
        </member>
        <member name="T:FarPoint.PDF.Objects.ImageObject.IImageHelper">
            <summary>
            Interface defined for the Image decoder class.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.ImageObject.ImageParameters">
            <summary>
            Represents the image parameters.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.width">
            <summary>Sets the width of the image.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.height">
            <summary>Sets the height of the image.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.colorspace">
            <summary>Sets the colorspace of the image.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.bpc">
            <summary>Sets the bits-per-component(bpc) of the image.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.type">
            <summary>Sets the type of the image.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.streamLength">
            <summary>Sets the length of the image stream.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.data">
            <summary>Sets the data.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ImageObject.ImageParameters.TransparentIndex">
            <summary>Sets the transparency index of the image.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.ObjectBase">
            <summary>Represents the base objects.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ObjectBase.CloneTo(FarPoint.PDF.Objects.ObjectBase)">
            <summary>Clones the specified objects.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ObjectBase.Number">
            <summary>Gets or sets a number id.</summary>								
        </member>
        <member name="T:FarPoint.PDF.Objects.PDFObject">
            <summary>Represents the base objects for PDFs.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.#ctor">
            <summary>Creates a PDF object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.Dispose">
            <summary>Disposes of resources.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.Commit">
            <summary>Commits.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.Number">
            <summary>Gets a number.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.Value">
            <summary>Gets or sets a value.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.Dictionary">
            <summary>Gets or sets a dictionary.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.PDFObject.ReferenceObject">
            <summary>Represents a reference object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.ReferenceObject.#ctor">
            <summary>Creates a new reference object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.ReferenceObject.#ctor(FarPoint.PDF.Objects.PDFObject)">
            <summary>Creates a new reference object.</summary>			
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.ReferenceObject.Object">
            <summary>Gets a PDF object.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.PDFObject.ReferenceObject.m_Object">
            <summary>Gets a PDF object.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.PDFObject.ArrayObject">
            <summary>Represents an array object.</summary>	
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.ArrayObject.#ctor">
            <summary>Creates a new array object.</summary>		
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.ArrayObject.#ctor(System.Object[])">
            <summary>Creates a new array object.</summary>					
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.ArrayObject.Values">
            <summary>Gets an array list of values.</summary>					
        </member>
        <member name="T:FarPoint.PDF.Objects.PDFObject.StringObject">
            <summary>Represents a string object.</summary>	
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.StringObject.#ctor">
            <summary>Creates a new string object.</summary>				
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.StringObject.#ctor(System.String,System.Int32)">
            <summary>Creates a new string object.</summary>				
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.StringObject.Value">
            <summary>Gets or sets a value.</summary>								
        </member>
        <member name="T:FarPoint.PDF.Objects.PDFObject.DictionaryObject">
            <summary>Represents a dictionary object.</summary>			
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.DictionaryObject.#ctor">
            <summary>Creates a new dictionary object.</summary>						
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.DictionaryObject.Item(System.String)">
            <summary>Gets or sets a value.</summary>				
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.DictionaryObject.Keys">
            <summary>Gets a collection of keys.</summary>			
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.DictionaryObject.Remove(System.String)">
            <summary>Removes a key from the collection.</summary>	
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.DictionaryObject.ContainsKey(System.String)">
            <summary>Returns whether the collection contains the specified key.</summary>				
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObject.DictionaryObject.Clear">
            <summary>Clears the entire collection.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObject.DictionaryObject.Number">
            <summary>Gets a number.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.BinaryStreamObject">
            <summary>Represents a binary stream object.</summary>
            <remarks>
            This class is used to store the colorspace for a GIF image as a Unicode stream
            and is required because default stream only stores ASCII format values.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Objects.BinaryStreamObject.#ctor">
            <summary>Creates a new binary stream object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.BinaryStreamObject.#ctor(System.Byte[])">
            <summary>Creates a new binary stream object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.BinaryStreamObject.Commit">
            <summary>Commits.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.StreamObject">
            <summary>Represents a stream object.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.StreamObject.enum_FilterType">
            <summary>Specifies an image-specific filter type.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.StreamObject.enum_FilterType.Raw">
            <summary>[0] Raw data, no filter is used</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.StreamObject.enum_FilterType.Flate">
            <summary>A flat filter is used</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.StreamObject.enum_FilterType.DCTDecode">
            <summary>A DTCDecode filter is used (a lossy filter based on the JPEG standard)</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.StreamObject.#ctor">
            <summary>Creates a new stream object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.StreamObject.GetStream">
            <summary>Gets a stream.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.StreamObject.GetStreamLength">
            <summary>Gets the length of the stream.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.StreamObject.Dispose">
            <summary>Disposes resources.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.StreamObject.Commit">
            <summary>Commits.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.StreamObject.FilterType">
            <summary>Gets or sets the type of image filter.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.PDFObjectCollection">
            <summary>Represents a collection of PDF objects.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObjectCollection.Item(System.Int32)">
            <summary>Gets a PDF object.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObjectCollection.Version">
            <summary>Gets sets the version.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PDFObjectCollection.VersionNumver">
            <summary>Gets the version number.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObjectCollection.Add(FarPoint.PDF.Objects.PDFObject)">
            <summary>Adds a PDF object to the collection.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObjectCollection.Remove(FarPoint.PDF.Objects.PDFObject)">
            <summary>Removes a PDF object from the collection.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObjectCollection.FindObject(System.Type)">
            <summary>Finds a PDF object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObjectCollection.FindObjects(System.Type)">
            <summary>Finds an array of PDF objects.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PDFObjectCollection.Numbering">
            <summary>Counts the number of PDF objects.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.FontObject">
            <summary>Represents a font object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.FontObject.Dispose">
            <summary>Disposes of resources.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.FontObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.FontObject.CurrentOrdering">
            <summary>Sets the ordering.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.FontObject.LoadFontData(System.Boolean)">
            <summary>Loads the font data.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.FontObject.SetFontData">
            <summary>Sets the font data.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.FontObject.Commit">
            <summary>Commits.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.FontObject.Name">
            <summary>Gets the name.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.FontObject.m_Name">
            <summary>Sets the name.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.FontObject.FontName">
            <summary>Gets the font name.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.FontObject.m_FontName">
            <summary>Sets the font name.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.FontObject.BaseLine">
            <summary>Gets the base line.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.FontObject.m_BaseLine">
            <summary>Sets the base line.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.FontObject.Descent">
            <summary>Gets the descent.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.FontObject.m_Descent">
            <summary>Sets the descent.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.FontObject.IsStandardFont">
            <summary>Gets whether the font is a standard font.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.FontObject.m_StandardFont">
            <summary>Sets whether the font is a standard font.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.FontObject.Embed">
            <summary>Gets the embed.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.FontObject.m_Embed">
            <summary>Sets the embed.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.FontObject.GetGlyphIndex(System.Char,System.Int32@)">
            <summary>Gets the glyph index.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.InfoObject">
            <summary>Represents an information object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.InfoObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.InfoObject.Title">
            <summary>Gets or sets the title.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.InfoObject.Author">
            <summary>Gets or sets the author.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.InfoObject.Subject">
            <summary>Gets or sets the subject.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.InfoObject.Creator">
            <summary>Gets or sets the creator.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.InfoObject.Producer">
            <summary>Gets or sets the producer.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.InfoObject.CreationDate">
            <summary>Gets or sets the creation date.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.InfoObject.Get(System.String)">
            <summary>Gets a string.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.InfoObject.Set(System.String,System.Object)">
            <summary>Sets a string.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.PageObject">
            <summary>Represents a PDF object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PageObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PageObject.PaperSize">
            <summary>Gets or sets the paper size.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PageObject.Content">
            <summary>Gets or sets a content object.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PageObject.Resource">
            <summary>Gets or sets a resource object.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PageObject.Parent">
            <summary>Gets or sets a pages object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PageObject.GetGraphics">
            <summary>Gets graphics.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PageObject.GetGraphics(System.Drawing.Graphics)">
            <summary>Gets graphics.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.PageObject.m_Objects">
            <summary>Gets a collection of objects.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.RootObject">
            <summary>Represents a root object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.RootObject.#ctor">
            <summary>Creates a new root object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.RootObject.#ctor(FarPoint.PDF.Objects.PagesObject)">
            <summary>Creates a new root object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.RootObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.ContentObject">
            <summary>Represents a content object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ContentObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ContentObject.Commit">
            <summary>Commits.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ContentObject.Dispose">
            <summary>Disposes resources.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ContentObject.Writer">
            <summary>Gets the text writer.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ContentObject.m_Writer">
            <summary>Gets a text writer.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ContentObject.m_Page">
            <summary>Gets a page object.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.PatternObject">
            <summary>
            Represents a tiling pattern created with the TextureBrush object.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PatternObject.Name">
            <summary>Gets or sets the name.</summary>			
        </member>
        <member name="M:FarPoint.PDF.Objects.PatternObject.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PatternObject.#ctor(System.Drawing.TextureBrush,FarPoint.PDF.Objects.ImageObject)">
            <summary>
            Creates a PatternObject with TextureBrush and the imageObject for the brush.
            </summary>
            <param name="brush">Texture brush</param>
            <param name="brushImage">Brush image</param>
        </member>
        <member name="M:FarPoint.PDF.Objects.PatternObject.Equals(System.Object)">
            <summary>Returns whether the object is equal to the specified object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PatternObject.GetHashCode">
            <summary>Gets the hash code.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ShadingObject.Name">
            <summary>Gets or sets the name.</summary>			
        </member>
        <member name="M:FarPoint.PDF.Objects.ShadingObject.Equals(System.Object)">
            <summary>Returns whether the object is equal to the specified object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ShadingObject.GetHashCode">
            <summary>Gets the hash code.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.PagesObject">
            <summary>Represents a pages object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PagesObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PagesObject.PaperSize">
            <summary>Gets or sets the paper size.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PagesObject.Count">
            <summary>Gets the number of pages.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PagesObject.Item(System.Int32)">
            <summary>Gets the page object.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.PagesObject.AllowEmbedExternalFont">
            <summary>
            Gets or sets a value indicating whether the external font can be embedded on PDF file.
            </summary>
            <value>
            	<c>true</c> if the external font can be embedded on PDF file; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:FarPoint.PDF.Objects.PagesObject.CreatePage">
            <summary>Creates a page.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.PagesObject.Add(FarPoint.PDF.Objects.PageObject)">
            <summary>Adds a page.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.PagesObject.m_Objects">
            <summary>Gets a collection of objects.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.PagesObject.m_Pages">
            <summary>Gets an array of pages.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.PagesObject.m_ResourceManager">
            <summary>Gets the resource manager.</summary>
        </member>
        <member name="T:FarPoint.PDF.Objects.ResourcesObject">
            <summary>Represents a resources object.</summary>
        </member>
        <member name="M:FarPoint.PDF.Objects.ResourcesObject.ToString">
            <summary>Converts to a string.</summary>
        </member>
        <member name="P:FarPoint.PDF.Objects.ResourcesObject.AllowEmbedExternalFont">
            <summary>
            Gets or sets a value indicating whether the external font can be embedded on PDF file.
            </summary>
            <value>
            	<c>true</c> if the external font can be embedded on PDF file; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="F:FarPoint.PDF.Objects.ResourcesObject.ResourceManager">
            <summary>Gets a resource manager.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ResourcesObject.m_UseFont">
            <summary>Gets a hash table of fonts.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ResourcesObject.m_FontDic">
            <summary>Gets a font dictionary.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ResourcesObject.m_ImageDic">
            <summary>Gets an image dictionary.</summary>
        </member>
        <member name="F:FarPoint.PDF.Objects.ResourcesObject.m_PatternDic">
            <summary>Gets a pattern dictionary.</summary>
        </member>
        <member name="T:FarPoint.PDF.SupportedProduct">
            <summary>
            Indicates an enum that specifies supported product
            </summary>
        </member>
        <member name="F:FarPoint.PDF.SupportedProduct.SpreadWin">
            <summary>
            Specifies support for SpreadWin product
            </summary>
        </member>
        <member name="F:FarPoint.PDF.SupportedProduct.SpreadWeb">
            <summary>
            Specifies support for SpreadWeb product
            </summary>
        </member>
        <member name="T:FarPoint.PDF.ISupportedProduct">
            <summary>
            Indicates an interface which represent the way to specify supported product
            </summary>
        </member>
        <member name="P:FarPoint.PDF.ISupportedProduct.Product">
            <summary>
            Get value of enum SupportedProduct specifies supported product
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Writer.#ctor(FarPoint.PDF.Document,System.IO.Stream,FarPoint.PDF.PdfSecurity)">
            <summary>
            Create a new Writer object with the specified settings.
            </summary>
            <param name="doc">The document.</param>
            <param name="strm">The stream.</param>
            <param name="security">The pdf security info.</param>
        </member>
        <member name="M:FarPoint.PDF.Writer.Write(FarPoint.PDF.Document,System.IO.Stream,FarPoint.PDF.PdfSecurity)">
            <summary>
            Writes the specified document to stream with security info.
            </summary>
            <param name="doc">The document need to print</param>
            <param name="strm">The stream.</param>
            <param name="security">The pdf security info.</param>
        </member>
        <member name="T:FarPoint.PDF.Writer.WriterImageObject">
            <summary>
            Writer defined for ImageObject class
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.DeflateStream">
             <summary>
             A class for compressing and decompressing streams using the Deflate algorithm.
             </summary>
            
             <remarks>
            
             <para>
               The DeflateStream is a <see
               href="http://en.wikipedia.org/wiki/Decorator_pattern">Decorator</see> on a <see
               cref="T:System.IO.Stream"/>.  It adds DEFLATE compression or decompression to any
               stream.
             </para>
            
             <para>
               Using this stream, applications can compress or decompress data via stream
               <c>Read</c> and <c>Write</c> operations.  Either compresssion or decompression
               can occur through either reading or writing. The compression format used is
               DEFLATE, which is documented in <see
               href="http://www.ietf.org/rfc/rfc1951.txt">IETF RFC 1951</see>, "DEFLATE
               Compressed Data Format Specification version 1.3.".
             </para>
            
             <para>
               This class is similar to <see cref="T:FarPoint.PDF.Streams.Flate.ZlibStream"/>, except that
               <c>ZlibStream</c> adds the <see href="http://www.ietf.org/rfc/rfc1950.txt">RFC
               1950 - ZLIB</see> framing bytes to a compressed stream when compressing, or
               expects the RFC1950 framing bytes when decompressing. The <c>DeflateStream</c>
               does not.
             </para>
            
             </remarks>
            
             <seealso cref="T:FarPoint.PDF.Streams.Flate.ZlibStream" />
             <seealso cref="T:FarPoint.PDF.Streams.Flate.GZipStream" />
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode)">
             <summary>
               Create a DeflateStream using the specified CompressionMode.
             </summary>
            
             <remarks>
               When mode is <c>CompressionMode.Compress</c>, the DeflateStream will use
               the default compression level. The "captive" stream will be closed when
               the DeflateStream is closed.
             </remarks>
            
             <example>
             This example uses a DeflateStream to compress data from a file, and writes
             the compressed data to another file.
             <code>
             using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
             {
                 using (var raw = System.IO.File.Create(fileToCompress + ".deflated"))
                 {
                     using (Stream compressor = new DeflateStream(raw, CompressionMode.Compress))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n;
                         while ((n= input.Read(buffer, 0, buffer.Length)) != 0)
                         {
                             compressor.Write(buffer, 0, n);
                         }
                     }
                 }
             }
             </code>
            
             <code lang="VB">
             Using input As Stream = File.OpenRead(fileToCompress)
                 Using raw As FileStream = File.Create(fileToCompress &amp; ".deflated")
                     Using compressor As Stream = New DeflateStream(raw, CompressionMode.Compress)
                         Dim buffer As Byte() = New Byte(4096) {}
                         Dim n As Integer = -1
                         Do While (n &lt;&gt; 0)
                             If (n &gt; 0) Then
                                 compressor.Write(buffer, 0, n)
                             End If
                             n = input.Read(buffer, 0, buffer.Length)
                         Loop
                     End Using
                 End Using
             End Using
             </code>
             </example>
             <param name="stream">The stream which will be read or written.</param>
             <param name="mode">Indicates whether the DeflateStream will compress or decompress.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,FarPoint.PDF.Streams.Flate.CompressionLevel)">
             <summary>
             Create a DeflateStream using the specified CompressionMode and the specified CompressionLevel.
             </summary>
            
             <remarks>
            
             <para>
               When mode is <c>CompressionMode.Decompress</c>, the level parameter is
               ignored.  The "captive" stream will be closed when the DeflateStream is
               closed.
             </para>
            
             </remarks>
            
             <example>
            
               This example uses a DeflateStream to compress data from a file, and writes
               the compressed data to another file.
            
             <code>
             using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
             {
                 using (var raw = System.IO.File.Create(fileToCompress + ".deflated"))
                 {
                     using (Stream compressor = new DeflateStream(raw,
                                                                  CompressionMode.Compress,
                                                                  CompressionLevel.BestCompression))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n= -1;
                         while (n != 0)
                         {
                             if (n &gt; 0)
                                 compressor.Write(buffer, 0, n);
                             n= input.Read(buffer, 0, buffer.Length);
                         }
                     }
                 }
             }
             </code>
            
             <code lang="VB">
             Using input As Stream = File.OpenRead(fileToCompress)
                 Using raw As FileStream = File.Create(fileToCompress &amp; ".deflated")
                     Using compressor As Stream = New DeflateStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression)
                         Dim buffer As Byte() = New Byte(4096) {}
                         Dim n As Integer = -1
                         Do While (n &lt;&gt; 0)
                             If (n &gt; 0) Then
                                 compressor.Write(buffer, 0, n)
                             End If
                             n = input.Read(buffer, 0, buffer.Length)
                         Loop
                     End Using
                 End Using
             End Using
             </code>
             </example>
             <param name="stream">The stream to be read or written while deflating or inflating.</param>
             <param name="mode">Indicates whether the <c>DeflateStream</c> will compress or decompress.</param>
             <param name="level">A tuning knob to trade speed for effectiveness.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,System.Boolean)">
             <summary>
               Create a <c>DeflateStream</c> using the specified
               <c>CompressionMode</c>, and explicitly specify whether the
               stream should be left open after Deflation or Inflation.
             </summary>
            
             <remarks>
            
             <para>
               This constructor allows the application to request that the captive stream
               remain open after the deflation or inflation occurs.  By default, after
               <c>Close()</c> is called on the stream, the captive stream is also
               closed. In some cases this is not desired, for example if the stream is a
               memory stream that will be re-read after compression.  Specify true for
               the <paramref name="leaveOpen"/> parameter to leave the stream open.
             </para>
            
             <para>
               The <c>DeflateStream</c> will use the default compression level.
             </para>
            
             <para>
               See the other overloads of this constructor for example code.
             </para>
             </remarks>
            
             <param name="stream">
               The stream which will be read or written. This is called the
               "captive" stream in other places in this documentation.
             </param>
            
             <param name="mode">
               Indicates whether the <c>DeflateStream</c> will compress or decompress.
             </param>
            
             <param name="leaveOpen">true if the application would like the stream to
             remain open after inflation/deflation.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,FarPoint.PDF.Streams.Flate.CompressionLevel,System.Boolean)">
             <summary>
               Create a <c>DeflateStream</c> using the specified <c>CompressionMode</c>
               and the specified <c>CompressionLevel</c>, and explicitly specify whether
               the stream should be left open after Deflation or Inflation.
             </summary>
            
             <remarks>
            
             <para>
               When mode is <c>CompressionMode.Decompress</c>, the level parameter is ignored.
             </para>
            
             <para>
               This constructor allows the application to request that the captive stream
               remain open after the deflation or inflation occurs.  By default, after
               <c>Close()</c> is called on the stream, the captive stream is also
               closed. In some cases this is not desired, for example if the stream is a
               <see cref="T:System.IO.MemoryStream"/> that will be re-read after
               compression.  Specify true for the <paramref name="leaveOpen"/> parameter
               to leave the stream open.
             </para>
            
             </remarks>
            
             <example>
            
               This example shows how to use a <c>DeflateStream</c> to compress data from
               a file, and store the compressed data into another file.
            
             <code>
             using (var output = System.IO.File.Create(fileToCompress + ".deflated"))
             {
                 using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
                 {
                     using (Stream compressor = new DeflateStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, true))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n= -1;
                         while (n != 0)
                         {
                             if (n &gt; 0)
                                 compressor.Write(buffer, 0, n);
                             n= input.Read(buffer, 0, buffer.Length);
                         }
                     }
                 }
                 // can write additional data to the output stream here
             }
             </code>
            
             <code lang="VB">
             Using output As FileStream = File.Create(fileToCompress &amp; ".deflated")
                 Using input As Stream = File.OpenRead(fileToCompress)
                     Using compressor As Stream = New DeflateStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, True)
                         Dim buffer As Byte() = New Byte(4096) {}
                         Dim n As Integer = -1
                         Do While (n &lt;&gt; 0)
                             If (n &gt; 0) Then
                                 compressor.Write(buffer, 0, n)
                             End If
                             n = input.Read(buffer, 0, buffer.Length)
                         Loop
                     End Using
                 End Using
                 ' can write additional data to the output stream here.
             End Using
             </code>
             </example>
             <param name="stream">The stream which will be read or written.</param>
             <param name="mode">Indicates whether the DeflateStream will compress or decompress.</param>
             <param name="leaveOpen">true if the application would like the stream to remain open after inflation/deflation.</param>
             <param name="level">A tuning knob to trade speed for effectiveness.</param>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.FlushMode">
            <summary>
            This property sets the flush behavior on the stream.
            </summary>
            <remarks> See the ZLIB documentation for the meaning of the flush behavior.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.BufferSize">
             <summary>
               The size of the working buffer for the compression codec.
             </summary>
            
             <remarks>
             <para>
               The working buffer is used for all stream operations.  The default size is
               1024 bytes.  The minimum size is 128 bytes. You may get better performance
               with a larger buffer.  Then again, you might not.  You would have to test
               it.
             </para>
            
             <para>
               Set this before the first call to <c>Read()</c> or <c>Write()</c> on the
               stream. If you try to set it afterwards, it will throw.
             </para>
             </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.Strategy">
             <summary>
               The ZLIB strategy to be used during compression.
             </summary>
            
             <remarks>
               By tweaking this parameter, you may be able to optimize the compression for
               data with particular characteristics.
             </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.TotalIn">
            <summary> Returns the total number of bytes input so far.</summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.TotalOut">
            <summary> Returns the total number of bytes output so far.</summary>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.Dispose(System.Boolean)">
            <summary>
              Dispose the stream.
            </summary>
            <remarks>
              <para>
                This may or may not result in a <c>Close()</c> call on the captive
                stream.  See the constructors that have a <c>leaveOpen</c> parameter
                for more information.
              </para>
              <para>
                Application code won't call this code directly.  This method may be
                invoked in two distinct scenarios.  If disposing == true, the method
                has been called directly or indirectly by a user's code, for example
                via the public Dispose() method. In this case, both managed and
                unmanaged resources can be referenced and disposed.  If disposing ==
                false, the method has been called by the runtime from inside the
                object finalizer and this method should not reference other objects;
                in that case only unmanaged resources must be referenced or
                disposed.
              </para>
            </remarks>
            <param name="disposing">
              true if the Dispose method was invoked by user code.
            </param>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.CanRead">
            <summary>
            Indicates whether the stream can be read.
            </summary>
            <remarks>
            The return value depends on whether the captive stream supports reading.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.CanSeek">
            <summary>
            Indicates whether the stream supports Seek operations.
            </summary>
            <remarks>
            Always returns false.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.CanWrite">
            <summary>
            Indicates whether the stream can be written.
            </summary>
            <remarks>
            The return value depends on whether the captive stream supports writing.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.Flush">
            <summary>
            Flush the stream.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.Length">
            <summary>
            Reading this property always throws a <see cref="T:System.NotImplementedException"/>.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.DeflateStream.Position">
             <summary>
             The position of the stream pointer.
             </summary>
            
             <remarks>
               Setting this property always throws a <see
               cref="T:System.NotImplementedException"/>. Reading will return the total bytes
               written out, if used in writing, or the total bytes read in, if used in
               reading.  The count may refer to compressed bytes or uncompressed bytes,
               depending on how you've used the stream.
             </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.Read(System.Byte[],System.Int32,System.Int32)">
             <summary>
             Read data from the stream.
             </summary>
             <remarks>
            
             <para>
               If you wish to use the <c>DeflateStream</c> to compress data while
               reading, you can create a <c>DeflateStream</c> with
               <c>CompressionMode.Compress</c>, providing an uncompressed data stream.
               Then call Read() on that <c>DeflateStream</c>, and the data read will be
               compressed as you read.  If you wish to use the <c>DeflateStream</c> to
               decompress data while reading, you can create a <c>DeflateStream</c> with
               <c>CompressionMode.Decompress</c>, providing a readable compressed data
               stream.  Then call Read() on that <c>DeflateStream</c>, and the data read
               will be decompressed as you read.
             </para>
            
             <para>
               A <c>DeflateStream</c> can be used for <c>Read()</c> or <c>Write()</c>, but not both.
             </para>
            
             </remarks>
             <param name="buffer">The buffer into which the read data should be placed.</param>
             <param name="offset">the offset within that data array to put the first byte read.</param>
             <param name="count">the number of bytes to read.</param>
             <returns>the number of bytes actually read</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
            Calling this method always throws a <see cref="T:System.NotImplementedException"/>.
            </summary>
            <param name="offset">this is irrelevant, since it will always throw!</param>
            <param name="origin">this is irrelevant, since it will always throw!</param>
            <returns>irrelevant!</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.SetLength(System.Int64)">
            <summary>
            Calling this method always throws a <see cref="T:System.NotImplementedException"/>.
            </summary>
            <param name="value">this is irrelevant, since it will always throw!</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.Write(System.Byte[],System.Int32,System.Int32)">
             <summary>
               Write data to the stream.
             </summary>
             <remarks>
            
             <para>
               If you wish to use the <c>DeflateStream</c> to compress data while
               writing, you can create a <c>DeflateStream</c> with
               <c>CompressionMode.Compress</c>, and a writable output stream.  Then call
               <c>Write()</c> on that <c>DeflateStream</c>, providing uncompressed data
               as input.  The data sent to the output stream will be the compressed form
               of the data written.  If you wish to use the <c>DeflateStream</c> to
               decompress data while writing, you can create a <c>DeflateStream</c> with
               <c>CompressionMode.Decompress</c>, and a writable output stream.  Then
               call <c>Write()</c> on that stream, providing previously compressed
               data. The data sent to the output stream will be the decompressed form of
               the data written.
             </para>
            
             <para>
               A <c>DeflateStream</c> can be used for <c>Read()</c> or <c>Write()</c>,
               but not both.
             </para>
            
             </remarks>
            
             <param name="buffer">The buffer holding data to write to the stream.</param>
             <param name="offset">the offset within that data array to find the first byte to write.</param>
             <param name="count">the number of bytes to write.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.CompressString(System.String)">
             <summary>
               Compress a string into a byte array using DEFLATE (RFC 1951).
             </summary>
            
             <remarks>
               Uncompress it with <see cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressString(System.Byte[])"/>.
             </remarks>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressString(System.Byte[])">DeflateStream.UncompressString(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.CompressBuffer(System.Byte[])">DeflateStream.CompressBuffer(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressString(System.String)">GZipStream.CompressString(string)</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressString(System.String)">ZlibStream.CompressString(string)</seealso>
            
             <param name="s">
               A string to compress. The string will first be encoded
               using UTF8, then compressed.
             </param>
            
             <returns>The string in compressed form</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.CompressBuffer(System.Byte[])">
             <summary>
               Compress a byte array into a new byte array using DEFLATE.
             </summary>
            
             <remarks>
               Uncompress it with <see cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressBuffer(System.Byte[])"/>.
             </remarks>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.CompressString(System.String)">DeflateStream.CompressString(string)</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressBuffer(System.Byte[])">DeflateStream.UncompressBuffer(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressBuffer(System.Byte[])">GZipStream.CompressBuffer(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressBuffer(System.Byte[])">ZlibStream.CompressBuffer(byte[])</seealso>
            
             <param name="b">
               A buffer to compress.
             </param>
            
             <returns>The data in compressed form</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressString(System.Byte[])">
             <summary>
               Uncompress a DEFLATE'd byte array into a single string.
             </summary>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.CompressString(System.String)">DeflateStream.CompressString(String)</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressBuffer(System.Byte[])">DeflateStream.UncompressBuffer(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressString(System.Byte[])">GZipStream.UncompressString(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressString(System.Byte[])">ZlibStream.UncompressString(byte[])</seealso>
            
             <param name="compressed">
               A buffer containing DEFLATE-compressed data.
             </param>
            
             <returns>The uncompressed string</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressBuffer(System.Byte[])">
             <summary>
               Uncompress a DEFLATE'd byte array into a byte array.
             </summary>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.CompressBuffer(System.Byte[])">DeflateStream.CompressBuffer(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.DeflateStream.UncompressString(System.Byte[])">DeflateStream.UncompressString(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressBuffer(System.Byte[])">GZipStream.UncompressBuffer(byte[])</seealso>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressBuffer(System.Byte[])">ZlibStream.UncompressBuffer(byte[])</seealso>
            
             <param name="compressed">
               A buffer containing data that has been compressed with DEFLATE.
             </param>
            
             <returns>The data in uncompressed form</returns>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.ZlibCodec">
             <summary>
             Encoder and Decoder for ZLIB and DEFLATE (IETF RFC1950 and RFC1951).
             </summary>
            
             <remarks>
             This class compresses and decompresses data according to the Deflate algorithm
             and optionally, the ZLIB format, as documented in <see
             href="http://www.ietf.org/rfc/rfc1950.txt">RFC 1950 - ZLIB</see> and <see
             href="http://www.ietf.org/rfc/rfc1951.txt">RFC 1951 - DEFLATE</see>.
             </remarks>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.InputBuffer">
            <summary>
            The buffer from which data is taken.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.NextIn">
            <summary>
            An index into the InputBuffer array, indicating where to start reading. 
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.AvailableBytesIn">
            <summary>
            The number of bytes available in the InputBuffer, starting at NextIn. 
            </summary>
            <remarks>
            Generally you should set this to InputBuffer.Length before the first Inflate() or Deflate() call. 
            The class will update this number as calls to Inflate/Deflate are made.
            </remarks>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.TotalBytesIn">
            <summary>
            Total number of bytes read so far, through all calls to Inflate()/Deflate().
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.OutputBuffer">
            <summary>
            Buffer to store output data.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.NextOut">
            <summary>
            An index into the OutputBuffer array, indicating where to start writing. 
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.AvailableBytesOut">
            <summary>
            The number of bytes available in the OutputBuffer, starting at NextOut. 
            </summary>
            <remarks>
            Generally you should set this to OutputBuffer.Length before the first Inflate() or Deflate() call. 
            The class will update this number as calls to Inflate/Deflate are made.
            </remarks>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.TotalBytesOut">
            <summary>
            Total number of bytes written to the output so far, through all calls to Inflate()/Deflate().
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.Message">
            <summary>
            used for diagnostics, when something goes wrong!
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.CompressLevel">
            <summary>
            The compression level to use in this codec.  Useful only in compression mode.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.WindowBits">
            <summary>
            The number of Window Bits to use.  
            </summary>
            <remarks>
            This gauges the size of the sliding window, and hence the 
            compression effectiveness as well as memory consumption. It's best to just leave this 
            setting alone if you don't know what it is.  The maximum value is 15 bits, which implies
            a 32k window.  
            </remarks>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibCodec.Strategy">
            <summary>
            The compression strategy to use.
            </summary>
            <remarks>
            This is only effective in compression.  The theory offered by ZLIB is that different
            strategies could potentially produce significant differences in compression behavior
            for different data sets.  Unfortunately I don't have any good recommendations for how
            to set it differently.  When I tested changing the strategy I got minimally different
            compression performance. It's best to leave this property alone if you don't have a
            good feel for it.  Or, you may want to produce a test harness that runs through the
            different strategy options and evaluates them on different file types. If you do that,
            let me know your results.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibCodec.Adler32">
            <summary>
            The Adler32 checksum on the data transferred through the codec so far. You probably don't need to look at this.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.#ctor">
            <summary>
            Create a ZlibCodec.
            </summary>
            <remarks>
            If you use this default constructor, you will later have to explicitly call 
            InitializeInflate() or InitializeDeflate() before using the ZlibCodec to compress 
            or decompress. 
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.#ctor(FarPoint.PDF.Streams.Flate.CompressionMode)">
            <summary>
            Create a ZlibCodec that either compresses or decompresses.
            </summary>
            <param name="mode">
            Indicates whether the codec should compress (deflate) or decompress (inflate).
            </param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeInflate">
            <summary>
            Initialize the inflation state. 
            </summary>
            <remarks>
            It is not necessary to call this before using the ZlibCodec to inflate data; 
            It is implicitly called when you call the constructor.
            </remarks>
            <returns>Z_OK if everything goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeInflate(System.Boolean)">
             <summary>
             Initialize the inflation state with an explicit flag to
             govern the handling of RFC1950 header bytes.
             </summary>
            
             <remarks>
             By default, the ZLIB header defined in <see
             href="http://www.ietf.org/rfc/rfc1950.txt">RFC 1950</see> is expected.  If
             you want to read a zlib stream you should specify true for
             expectRfc1950Header.  If you have a deflate stream, you will want to specify
             false. It is only necessary to invoke this initializer explicitly if you
             want to specify false.
             </remarks>
            
             <param name="expectRfc1950Header">whether to expect an RFC1950 header byte
             pair when reading the stream of data to be inflated.</param>
            
             <returns>Z_OK if everything goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeInflate(System.Int32)">
            <summary>
            Initialize the ZlibCodec for inflation, with the specified number of window bits. 
            </summary>
            <param name="windowBits">The number of window bits to use. If you need to ask what that is, 
            then you shouldn't be calling this initializer.</param>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeInflate(System.Int32,System.Boolean)">
             <summary>
             Initialize the inflation state with an explicit flag to govern the handling of
             RFC1950 header bytes. 
             </summary>
            
             <remarks>
             If you want to read a zlib stream you should specify true for
             expectRfc1950Header. In this case, the library will expect to find a ZLIB
             header, as defined in <see href="http://www.ietf.org/rfc/rfc1950.txt">RFC
             1950</see>, in the compressed stream.  If you will be reading a DEFLATE or
             GZIP stream, which does not have such a header, you will want to specify
             false.
             </remarks>
            
             <param name="expectRfc1950Header">whether to expect an RFC1950 header byte pair when reading 
             the stream of data to be inflated.</param>
             <param name="windowBits">The number of window bits to use. If you need to ask what that is, 
             then you shouldn't be calling this initializer.</param>
             <returns>Z_OK if everything goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.Inflate(FarPoint.PDF.Streams.Flate.FlushType)">
             <summary>
             Inflate the data in the InputBuffer, placing the result in the OutputBuffer.
             </summary>
             <remarks>
             You must have set InputBuffer and OutputBuffer, NextIn and NextOut, and AvailableBytesIn and 
             AvailableBytesOut  before calling this method.
             </remarks>
             <example>
             <code>
             private void InflateBuffer()
             {
                 int bufferSize = 1024;
                 byte[] buffer = new byte[bufferSize];
                 ZlibCodec decompressor = new ZlibCodec();
             
                 Console.WriteLine("\n============================================");
                 Console.WriteLine("Size of Buffer to Inflate: {0} bytes.", CompressedBytes.Length);
                 MemoryStream ms = new MemoryStream(DecompressedBytes);
             
                 int rc = decompressor.InitializeInflate();
             
                 decompressor.InputBuffer = CompressedBytes;
                 decompressor.NextIn = 0;
                 decompressor.AvailableBytesIn = CompressedBytes.Length;
             
                 decompressor.OutputBuffer = buffer;
             
                 // pass 1: inflate 
                 do
                 {
                     decompressor.NextOut = 0;
                     decompressor.AvailableBytesOut = buffer.Length;
                     rc = decompressor.Inflate(FlushType.None);
             
                     if (rc != ZlibConstants.Z_OK &amp;&amp; rc != ZlibConstants.Z_STREAM_END)
                         throw new Exception("inflating: " + decompressor.Message);
             
                     ms.Write(decompressor.OutputBuffer, 0, buffer.Length - decompressor.AvailableBytesOut);
                 }
                 while (decompressor.AvailableBytesIn &gt; 0 || decompressor.AvailableBytesOut == 0);
             
                 // pass 2: finish and flush
                 do
                 {
                     decompressor.NextOut = 0;
                     decompressor.AvailableBytesOut = buffer.Length;
                     rc = decompressor.Inflate(FlushType.Finish);
             
                     if (rc != ZlibConstants.Z_STREAM_END &amp;&amp; rc != ZlibConstants.Z_OK)
                         throw new Exception("inflating: " + decompressor.Message);
             
                     if (buffer.Length - decompressor.AvailableBytesOut &gt; 0)
                         ms.Write(buffer, 0, buffer.Length - decompressor.AvailableBytesOut);
                 }
                 while (decompressor.AvailableBytesIn &gt; 0 || decompressor.AvailableBytesOut == 0);
             
                 decompressor.EndInflate();
             }
            
             </code>
             </example>
             <param name="flush">The flush to use when inflating.</param>
             <returns>Z_OK if everything goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.EndInflate">
            <summary>
            Ends an inflation session. 
            </summary>
            <remarks>
            Call this after successively calling Inflate().  This will cause all buffers to be flushed. 
            After calling this you cannot call Inflate() without a intervening call to one of the
            InitializeInflate() overloads.
            </remarks>
            <returns>Z_OK if everything goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.SyncInflate">
            <summary>
            I don't know what this does!
            </summary>
            <returns>Z_OK if everything goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeDeflate">
            <summary>
            Initialize the ZlibCodec for deflation operation.
            </summary>
            <remarks>
            The codec will use the MAX window bits and the default level of compression.
            </remarks>
            <example>
            <code>
             int bufferSize = 40000;
             byte[] CompressedBytes = new byte[bufferSize];
             byte[] DecompressedBytes = new byte[bufferSize];
             
             ZlibCodec compressor = new ZlibCodec();
             
             compressor.InitializeDeflate(CompressionLevel.Default);
             
             compressor.InputBuffer = System.Text.ASCIIEncoding.ASCII.GetBytes(TextToCompress);
             compressor.NextIn = 0;
             compressor.AvailableBytesIn = compressor.InputBuffer.Length;
             
             compressor.OutputBuffer = CompressedBytes;
             compressor.NextOut = 0;
             compressor.AvailableBytesOut = CompressedBytes.Length;
             
             while (compressor.TotalBytesIn != TextToCompress.Length &amp;&amp; compressor.TotalBytesOut &lt; bufferSize)
             {
               compressor.Deflate(FlushType.None);
             }
             
             while (true)
             {
               int rc= compressor.Deflate(FlushType.Finish);
               if (rc == ZlibConstants.Z_STREAM_END) break;
             }
             
             compressor.EndDeflate();
              
            </code>
            </example>
            <returns>Z_OK if all goes well. You generally don't need to check the return code.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeDeflate(FarPoint.PDF.Streams.Flate.CompressionLevel)">
            <summary>
            Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel.
            </summary>
            <remarks>
            The codec will use the maximum window bits (15) and the specified
            CompressionLevel.  It will emit a ZLIB stream as it compresses.
            </remarks>
            <param name="level">The compression level for the codec.</param>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeDeflate(FarPoint.PDF.Streams.Flate.CompressionLevel,System.Boolean)">
            <summary>
            Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, 
            and the explicit flag governing whether to emit an RFC1950 header byte pair.
            </summary>
            <remarks>
            The codec will use the maximum window bits (15) and the specified CompressionLevel.
            If you want to generate a zlib stream, you should specify true for
            wantRfc1950Header. In this case, the library will emit a ZLIB
            header, as defined in <see href="http://www.ietf.org/rfc/rfc1950.txt">RFC
            1950</see>, in the compressed stream.  
            </remarks>
            <param name="level">The compression level for the codec.</param>
            <param name="wantRfc1950Header">whether to emit an initial RFC1950 byte pair in the compressed stream.</param>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeDeflate(FarPoint.PDF.Streams.Flate.CompressionLevel,System.Int32)">
            <summary>
            Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, 
            and the specified number of window bits. 
            </summary>
            <remarks>
            The codec will use the specified number of window bits and the specified CompressionLevel.
            </remarks>
            <param name="level">The compression level for the codec.</param>
            <param name="bits">the number of window bits to use.  If you don't know what this means, don't use this method.</param>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.InitializeDeflate(FarPoint.PDF.Streams.Flate.CompressionLevel,System.Int32,System.Boolean)">
             <summary>
             Initialize the ZlibCodec for deflation operation, using the specified
             CompressionLevel, the specified number of window bits, and the explicit flag
             governing whether to emit an RFC1950 header byte pair.
             </summary>
            
             <param name="level">The compression level for the codec.</param>
             <param name="wantRfc1950Header">whether to emit an initial RFC1950 byte pair in the compressed stream.</param>
             <param name="bits">the number of window bits to use.  If you don't know what this means, don't use this method.</param>
             <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.Deflate(FarPoint.PDF.Streams.Flate.FlushType)">
            <summary>
            Deflate one batch of data.
            </summary>
            <remarks>
            You must have set InputBuffer and OutputBuffer before calling this method.
            </remarks>
            <example>
            <code>
            private void DeflateBuffer(CompressionLevel level)
            {
                int bufferSize = 1024;
                byte[] buffer = new byte[bufferSize];
                ZlibCodec compressor = new ZlibCodec();
            
                Console.WriteLine("\n============================================");
                Console.WriteLine("Size of Buffer to Deflate: {0} bytes.", UncompressedBytes.Length);
                MemoryStream ms = new MemoryStream();
            
                int rc = compressor.InitializeDeflate(level);
            
                compressor.InputBuffer = UncompressedBytes;
                compressor.NextIn = 0;
                compressor.AvailableBytesIn = UncompressedBytes.Length;
            
                compressor.OutputBuffer = buffer;
            
                // pass 1: deflate 
                do
                {
                    compressor.NextOut = 0;
                    compressor.AvailableBytesOut = buffer.Length;
                    rc = compressor.Deflate(FlushType.None);
            
                    if (rc != ZlibConstants.Z_OK &amp;&amp; rc != ZlibConstants.Z_STREAM_END)
                        throw new Exception("deflating: " + compressor.Message);
            
                    ms.Write(compressor.OutputBuffer, 0, buffer.Length - compressor.AvailableBytesOut);
                }
                while (compressor.AvailableBytesIn &gt; 0 || compressor.AvailableBytesOut == 0);
            
                // pass 2: finish and flush
                do
                {
                    compressor.NextOut = 0;
                    compressor.AvailableBytesOut = buffer.Length;
                    rc = compressor.Deflate(FlushType.Finish);
            
                    if (rc != ZlibConstants.Z_STREAM_END &amp;&amp; rc != ZlibConstants.Z_OK)
                        throw new Exception("deflating: " + compressor.Message);
            
                    if (buffer.Length - compressor.AvailableBytesOut &gt; 0)
                        ms.Write(buffer, 0, buffer.Length - compressor.AvailableBytesOut);
                }
                while (compressor.AvailableBytesIn &gt; 0 || compressor.AvailableBytesOut == 0);
            
                compressor.EndDeflate();
            
                ms.Seek(0, SeekOrigin.Begin);
                CompressedBytes = new byte[compressor.TotalBytesOut];
                ms.Read(CompressedBytes, 0, CompressedBytes.Length);
            }
            </code>
            </example>
            <param name="flush">whether to flush all data as you deflate. Generally you will want to 
            use Z_NO_FLUSH here, in a series of calls to Deflate(), and then call EndDeflate() to 
            flush everything. 
            </param>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.EndDeflate">
            <summary>
            End a deflation session.
            </summary>
            <remarks>
            Call this after making a series of one or more calls to Deflate(). All buffers are flushed.
            </remarks>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.ResetDeflate">
            <summary>
            Reset a codec for another deflation session.
            </summary>
            <remarks>
            Call this to reset the deflation state.  For example if a thread is deflating
            non-consecutive blocks, you can call Reset() after the Deflate(Sync) of the first
            block and before the next Deflate(None) of the second block.
            </remarks>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.SetDeflateParams(FarPoint.PDF.Streams.Flate.CompressionLevel,FarPoint.PDF.Streams.Flate.CompressionStrategy)">
            <summary>
            Set the CompressionStrategy and CompressionLevel for a deflation session.
            </summary>
            <param name="level">the level of compression to use.</param>
            <param name="strategy">the strategy to use for compression.</param>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibCodec.SetDictionary(System.Byte[])">
            <summary>
            Set the dictionary to be used for either Inflation or Deflation.
            </summary>
            <param name="dictionary">The dictionary bytes to use.</param>
            <returns>Z_OK if all goes well.</returns>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.FlushType">
            <summary>
            Describes how to flush the current deflate operation.
            </summary>
            <remarks>
            The different FlushType values are useful when using a Deflate in a streaming application.
            </remarks>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.FlushType.None">
            <summary>No flush at all.</summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.FlushType.Partial">
            <summary>Closes the current block, but doesn't flush it to
            the output. Used internally only in hypothetical
            scenarios.  This was supposed to be removed by Zlib, but it is
            still in use in some edge cases.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.FlushType.Sync">
            <summary>
            Use this during compression to specify that all pending output should be
            flushed to the output buffer and the output should be aligned on a byte
            boundary.  You might use this in a streaming communication scenario, so that
            the decompressor can get all input data available so far.  When using this
            with a ZlibCodec, <c>AvailableBytesIn</c> will be zero after the call if
            enough output space has been provided before the call.  Flushing will
            degrade compression and so it should be used only when necessary.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.FlushType.Full">
            <summary>
            Use this during compression to specify that all output should be flushed, as
            with <c>FlushType.Sync</c>, but also, the compression state should be reset
            so that decompression can restart from this point if previous compressed
            data has been damaged or if random access is desired.  Using
            <c>FlushType.Full</c> too often can significantly degrade the compression.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.FlushType.Finish">
            <summary>Signals the end of the compression/decompression stream.</summary>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.CompressionLevel">
            <summary>
            The compression level to be used when using a DeflateStream or ZlibStream with CompressionMode.Compress.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.None">
            <summary>
            None means that the data will be simply stored, with no change at all.
            If you are producing ZIPs for use on Mac OSX, be aware that archives produced with CompressionLevel.None
            cannot be opened with the default zip reader. Use a different CompressionLevel.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level0">
            <summary>
            Same as None.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.BestSpeed">
            <summary>
            The fastest but least effective compression.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level1">
            <summary>
            A synonym for BestSpeed.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level2">
            <summary>
            A little slower, but better, than level 1.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level3">
            <summary>
            A little slower, but better, than level 2.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level4">
            <summary>
            A little slower, but better, than level 3.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level5">
            <summary>
            A little slower than level 4, but with better compression.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Default">
            <summary>
            The default compression level, with a good balance of speed and compression efficiency.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level6">
            <summary>
            A synonym for Default.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level7">
            <summary>
            Pretty good compression!
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level8">
            <summary>
             Better compression than Level7!
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.BestCompression">
            <summary>
            The "best" compression, where best means greatest reduction in size of the input data stream.
            This is also the slowest compression.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionLevel.Level9">
            <summary>
            A synonym for BestCompression.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.CompressionStrategy">
            <summary>
            Describes options for how the compression algorithm is executed.  Different strategies
            work better on different sorts of data.  The strategy parameter can affect the compression
            ratio and the speed of compression but not the correctness of the compresssion.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionStrategy.Default">
            <summary>
            The default strategy is probably the best for normal data.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionStrategy.Filtered">
            <summary>
            The <c>Filtered</c> strategy is intended to be used most effectively with data produced by a
            filter or predictor.  By this definition, filtered data consists mostly of small
            values with a somewhat random distribution.  In this case, the compression algorithm
            is tuned to compress them better.  The effect of <c>Filtered</c> is to force more Huffman
            coding and less string matching; it is a half-step between <c>Default</c> and <c>HuffmanOnly</c>.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionStrategy.HuffmanOnly">
            <summary>
            Using <c>HuffmanOnly</c> will force the compressor to do Huffman encoding only, with no
            string matching.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.CompressionMode">
            <summary>
            An enum to specify the direction of transcoding - whether to compress or decompress.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionMode.Compress">
            <summary>
            Used to specify that the stream should compress the data.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.CompressionMode.Decompress">
            <summary>
            Used to specify that the stream should decompress the data.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.CRC32">
            <summary>
              Computes a CRC-32. The CRC-32 algorithm is parameterized - you
              can set the polynomial and enable or disable bit
              reversal. This can be used for GZIP, BZip2, or ZIP.
            </summary>
            <remarks>
              This type is used internally by DotNetZip; it is generally not used
              directly by applications wishing to create, read, or manipulate zip
              archive files.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.CRC32.TotalBytesRead">
            <summary>
              Indicates the total number of bytes applied to the CRC.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.CRC32.Crc32Result">
            <summary>
            Indicates the current CRC for all blocks slurped in.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.GetCrc32(System.IO.Stream)">
            <summary>
            Returns the CRC32 for the specified stream.
            </summary>
            <param name="input">The stream over which to calculate the CRC32</param>
            <returns>the CRC32 calculation</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.GetCrc32AndCopy(System.IO.Stream,System.IO.Stream)">
            <summary>
            Returns the CRC32 for the specified stream, and writes the input into the
            output stream.
            </summary>
            <param name="input">The stream over which to calculate the CRC32</param>
            <param name="output">The stream into which to deflate the input</param>
            <returns>the CRC32 calculation</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.ComputeCrc32(System.Int32,System.Byte)">
            <summary>
              Get the CRC32 for the given (word,byte) combo.  This is a
              computation defined by PKzip for PKZIP 2.0 (weak) encryption.
            </summary>
            <param name="W">The word to start with.</param>
            <param name="B">The byte to combine it with.</param>
            <returns>The CRC-ized result.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.SlurpBlock(System.Byte[],System.Int32,System.Int32)">
            <summary>
            Update the value for the running CRC32 using the given block of bytes.
            This is useful when using the CRC32() class in a Stream.
            </summary>
            <param name="block">block of bytes to slurp</param>
            <param name="offset">starting point in the block</param>
            <param name="count">how many bytes within the block to slurp</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.UpdateCRC(System.Byte)">
            <summary>
              Process one byte in the CRC.
            </summary>
            <param name = "b">the byte to include into the CRC .  </param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.UpdateCRC(System.Byte,System.Int32)">
            <summary>
              Process a run of N identical bytes into the CRC.
            </summary>
            <remarks>
              <para>
                This method serves as an optimization for updating the CRC when a
                run of identical bytes is found. Rather than passing in a buffer of
                length n, containing all identical bytes b, this method accepts the
                byte value and the length of the (virtual) buffer - the length of
                the run.
              </para>
            </remarks>
            <param name = "b">the byte to include into the CRC.  </param>
            <param name = "n">the number of times that byte should be repeated. </param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.Combine(System.Int32,System.Int32)">
            <summary>
              Combines the given CRC32 value with the current running total.
            </summary>
            <remarks>
              This is useful when using a divide-and-conquer approach to
              calculating a CRC.  Multiple threads can each calculate a
              CRC32 on a segment of the data, and then combine the
              individual CRC32 values at the end.
            </remarks>
            <param name="crc">the crc value to be combined with this one</param>
            <param name="length">the length of data the CRC value was calculated on</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.#ctor">
            <summary>
              Create an instance of the CRC32 class using the default settings: no
              bit reversal, and a polynomial of 0xEDB88320.
            </summary>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.#ctor(System.Boolean)">
            <summary>
              Create an instance of the CRC32 class, specifying whether to reverse
              data bits or not.
            </summary>
            <param name='reverseBits'>
              specify true if the instance should reverse data bits.
            </param>
            <remarks>
              <para>
                In the CRC-32 used by BZip2, the bits are reversed. Therefore if you
                want a CRC32 with compatibility with BZip2, you should pass true
                here. In the CRC-32 used by GZIP and PKZIP, the bits are not
                reversed; Therefore if you want a CRC32 with compatibility with
                those, you should pass false.
              </para>
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.#ctor(System.Int32,System.Boolean)">
             <summary>
               Create an instance of the CRC32 class, specifying the polynomial and
               whether to reverse data bits or not.
             </summary>
             <param name='polynomial'>
               The polynomial to use for the CRC, expressed in the reversed (LSB)
               format: the highest ordered bit in the polynomial value is the
               coefficient of the 0th power; the second-highest order bit is the
               coefficient of the 1 power, and so on. Expressed this way, the
               polynomial for the CRC-32C used in IEEE 802.3, is 0xEDB88320.
             </param>
             <param name='reverseBits'>
               specify true if the instance should reverse data bits.
             </param>
            
             <remarks>
               <para>
                 In the CRC-32 used by BZip2, the bits are reversed. Therefore if you
                 want a CRC32 with compatibility with BZip2, you should pass true
                 here for the <c>reverseBits</c> parameter. In the CRC-32 used by
                 GZIP and PKZIP, the bits are not reversed; Therefore if you want a
                 CRC32 with compatibility with those, you should pass false for the
                 <c>reverseBits</c> parameter.
               </para>
             </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.CRC32.Reset">
            <summary>
              Reset the CRC-32 class - clear the CRC "remainder register."
            </summary>
            <remarks>
              <para>
                Use this when employing a single instance of this class to compute
                multiple, distinct CRCs on multiple, distinct data blocks.
              </para>
            </remarks>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.ZlibConstants">
            <summary>
            A bunch of constants used in the Zlib interface.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.WindowBitsMax">
            <summary>
            The maximum number of window bits for the Deflate algorithm.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.WindowBitsDefault">
            <summary>
            The default number of window bits for the Deflate algorithm.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.Z_OK">
            <summary>
            indicates everything is A-OK
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.Z_STREAM_END">
            <summary>
            Indicates that the last operation reached the end of the stream.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.Z_NEED_DICT">
            <summary>
            The operation ended in need of a dictionary. 
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.Z_STREAM_ERROR">
            <summary>
            There was an error with the stream - not enough data, not open and readable, etc.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.Z_DATA_ERROR">
            <summary>
            There was an error with the data - not enough data, bad data, etc.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.Z_BUF_ERROR">
            <summary>
            There was an error with the working buffer.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.WorkingBufferSizeDefault">
            <summary>
            The size of the working buffer used in the ZlibCodec class. Defaults to 8192 bytes.
            </summary>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.ZlibConstants.WorkingBufferSizeMin">
            <summary>
            The minimum size of the working buffer used in the ZlibCodec class.  Currently it is 128 bytes.
            </summary>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.GZipStream">
             <summary>
               A class for compressing and decompressing GZIP streams.
             </summary>
             <remarks>
            
             <para>
               The <c>GZipStream</c> is a <see
               href="http://en.wikipedia.org/wiki/Decorator_pattern">Decorator</see> on a
               <see cref="T:System.IO.Stream"/>. It adds GZIP compression or decompression to any
               stream.
             </para>
            
             <para>
               Like the <c>System.IO.Compression.GZipStream</c> in the .NET Base Class Library, the
               <c>Ionic.Zlib.GZipStream</c> can compress while writing, or decompress while
               reading, but not vice versa.  The compression method used is GZIP, which is
               documented in <see href="http://www.ietf.org/rfc/rfc1952.txt">IETF RFC
               1952</see>, "GZIP file format specification version 4.3".</para>
            
             <para>
               A <c>GZipStream</c> can be used to decompress data (through <c>Read()</c>) or
               to compress data (through <c>Write()</c>), but not both.
             </para>
            
             <para>
               If you wish to use the <c>GZipStream</c> to compress data, you must wrap it
               around a write-able stream. As you call <c>Write()</c> on the <c>GZipStream</c>, the
               data will be compressed into the GZIP format.  If you want to decompress data,
               you must wrap the <c>GZipStream</c> around a readable stream that contains an
               IETF RFC 1952-compliant stream.  The data will be decompressed as you call
               <c>Read()</c> on the <c>GZipStream</c>.
             </para>
            
             <para>
               Though the GZIP format allows data from multiple files to be concatenated
               together, this stream handles only a single segment of GZIP format, typically
               representing a single file.
             </para>
            
             <para>
               This class is similar to <see cref="T:FarPoint.PDF.Streams.Flate.ZlibStream"/> and <see cref="T:FarPoint.PDF.Streams.Flate.DeflateStream"/>.
               <c>ZlibStream</c> handles RFC1950-compliant streams.  <see cref="T:FarPoint.PDF.Streams.Flate.DeflateStream"/>
               handles RFC1951-compliant streams. This class handles RFC1952-compliant streams.
             </para>
            
             </remarks>
            
             <seealso cref="T:FarPoint.PDF.Streams.Flate.DeflateStream" />
             <seealso cref="T:FarPoint.PDF.Streams.Flate.ZlibStream" />
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.Comment">
             <summary>
               The comment on the GZIP stream.
             </summary>
            
             <remarks>
             <para>
               The GZIP format allows for each file to optionally have an associated
               comment stored with the file.  The comment is encoded with the ISO-8859-1
               code page.  To include a comment in a GZIP stream you create, set this
               property before calling <c>Write()</c> for the first time on the
               <c>GZipStream</c>.
             </para>
            
             <para>
               When using <c>GZipStream</c> to decompress, you can retrieve this property
               after the first call to <c>Read()</c>.  If no comment has been set in the
               GZIP bytestream, the Comment property will return <c>null</c>
               (<c>Nothing</c> in VB).
             </para>
             </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.FileName">
             <summary>
               The FileName for the GZIP stream.
             </summary>
            
             <remarks>
            
             <para>
               The GZIP format optionally allows each file to have an associated
               filename.  When compressing data (through <c>Write()</c>), set this
               FileName before calling <c>Write()</c> the first time on the <c>GZipStream</c>.
               The actual filename is encoded into the GZIP bytestream with the
               ISO-8859-1 code page, according to RFC 1952. It is the application's
               responsibility to insure that the FileName can be encoded and decoded
               correctly with this code page.
             </para>
            
             <para>
               When decompressing (through <c>Read()</c>), you can retrieve this value
               any time after the first <c>Read()</c>.  In the case where there was no filename
               encoded into the GZIP bytestream, the property will return <c>null</c> (<c>Nothing</c>
               in VB).
             </para>
             </remarks>
        </member>
        <member name="F:FarPoint.PDF.Streams.Flate.GZipStream.LastModified">
             <summary>
               The last modified time for the GZIP stream.
             </summary>
            
             <remarks>
               GZIP allows the storage of a last modified time with each GZIP entry.
               When compressing data, you can set this before the first call to
               <c>Write()</c>.  When decompressing, you can retrieve this value any time
               after the first call to <c>Read()</c>.
             </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.Crc32">
            <summary>
            The CRC on the GZIP stream.
            </summary>
            <remarks>
            This is used for internal error checking. You probably don't need to look at this property.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode)">
             <summary>
               Create a <c>GZipStream</c> using the specified <c>CompressionMode</c>.
             </summary>
             <remarks>
            
             <para>
               When mode is <c>CompressionMode.Compress</c>, the <c>GZipStream</c> will use the
               default compression level.
             </para>
            
             <para>
               As noted in the class documentation, the <c>CompressionMode</c> (Compress
               or Decompress) also establishes the "direction" of the stream.  A
               <c>GZipStream</c> with <c>CompressionMode.Compress</c> works only through
               <c>Write()</c>.  A <c>GZipStream</c> with
               <c>CompressionMode.Decompress</c> works only through <c>Read()</c>.
             </para>
            
             </remarks>
            
             <example>
               This example shows how to use a GZipStream to compress data.
             <code>
             using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
             {
                 using (var raw = System.IO.File.Create(outputFile))
                 {
                     using (Stream compressor = new GZipStream(raw, CompressionMode.Compress))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n;
                         while ((n= input.Read(buffer, 0, buffer.Length)) != 0)
                         {
                             compressor.Write(buffer, 0, n);
                         }
                     }
                 }
             }
             </code>
             <code lang="VB">
             Dim outputFile As String = (fileToCompress &amp; ".compressed")
             Using input As Stream = File.OpenRead(fileToCompress)
                 Using raw As FileStream = File.Create(outputFile)
                 Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress)
                     Dim buffer As Byte() = New Byte(4096) {}
                     Dim n As Integer = -1
                     Do While (n &lt;&gt; 0)
                         If (n &gt; 0) Then
                             compressor.Write(buffer, 0, n)
                         End If
                         n = input.Read(buffer, 0, buffer.Length)
                     Loop
                 End Using
                 End Using
             End Using
             </code>
             </example>
            
             <example>
             This example shows how to use a GZipStream to uncompress a file.
             <code>
             private void GunZipFile(string filename)
             {
                 if (!filename.EndsWith(".gz))
                     throw new ArgumentException("filename");
                 var DecompressedFile = filename.Substring(0,filename.Length-3);
                 byte[] working = new byte[WORKING_BUFFER_SIZE];
                 int n= 1;
                 using (System.IO.Stream input = System.IO.File.OpenRead(filename))
                 {
                     using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true))
                     {
                         using (var output = System.IO.File.Create(DecompressedFile))
                         {
                             while (n !=0)
                             {
                                 n= decompressor.Read(working, 0, working.Length);
                                 if (n > 0)
                                 {
                                     output.Write(working, 0, n);
                                 }
                             }
                         }
                     }
                 }
             }
             </code>
            
             <code lang="VB">
             Private Sub GunZipFile(ByVal filename as String)
                 If Not (filename.EndsWith(".gz)) Then
                     Throw New ArgumentException("filename")
                 End If
                 Dim DecompressedFile as String = filename.Substring(0,filename.Length-3)
                 Dim working(WORKING_BUFFER_SIZE) as Byte
                 Dim n As Integer = 1
                 Using input As Stream = File.OpenRead(filename)
                     Using decompressor As Stream = new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, True)
                         Using output As Stream = File.Create(UncompressedFile)
                             Do
                                 n= decompressor.Read(working, 0, working.Length)
                                 If n > 0 Then
                                     output.Write(working, 0, n)
                                 End IF
                             Loop While (n  > 0)
                         End Using
                     End Using
                 End Using
             End Sub
             </code>
             </example>
            
             <param name="stream">The stream which will be read or written.</param>
             <param name="mode">Indicates whether the GZipStream will compress or decompress.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,FarPoint.PDF.Streams.Flate.CompressionLevel)">
             <summary>
               Create a <c>GZipStream</c> using the specified <c>CompressionMode</c> and
               the specified <c>CompressionLevel</c>.
             </summary>
             <remarks>
            
             <para>
               The <c>CompressionMode</c> (Compress or Decompress) also establishes the
               "direction" of the stream.  A <c>GZipStream</c> with
               <c>CompressionMode.Compress</c> works only through <c>Write()</c>.  A
               <c>GZipStream</c> with <c>CompressionMode.Decompress</c> works only
               through <c>Read()</c>.
             </para>
            
             </remarks>
            
             <example>
            
             This example shows how to use a <c>GZipStream</c> to compress a file into a .gz file.
            
             <code>
             using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
             {
                 using (var raw = System.IO.File.Create(fileToCompress + ".gz"))
                 {
                     using (Stream compressor = new GZipStream(raw,
                                                               CompressionMode.Compress,
                                                               CompressionLevel.BestCompression))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n;
                         while ((n= input.Read(buffer, 0, buffer.Length)) != 0)
                         {
                             compressor.Write(buffer, 0, n);
                         }
                     }
                 }
             }
             </code>
            
             <code lang="VB">
             Using input As Stream = File.OpenRead(fileToCompress)
                 Using raw As FileStream = File.Create(fileToCompress &amp; ".gz")
                     Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression)
                         Dim buffer As Byte() = New Byte(4096) {}
                         Dim n As Integer = -1
                         Do While (n &lt;&gt; 0)
                             If (n &gt; 0) Then
                                 compressor.Write(buffer, 0, n)
                             End If
                             n = input.Read(buffer, 0, buffer.Length)
                         Loop
                     End Using
                 End Using
             End Using
             </code>
             </example>
             <param name="stream">The stream to be read or written while deflating or inflating.</param>
             <param name="mode">Indicates whether the <c>GZipStream</c> will compress or decompress.</param>
             <param name="level">A tuning knob to trade speed for effectiveness.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,System.Boolean)">
             <summary>
               Create a <c>GZipStream</c> using the specified <c>CompressionMode</c>, and
               explicitly specify whether the stream should be left open after Deflation
               or Inflation.
             </summary>
            
             <remarks>
             <para>
               This constructor allows the application to request that the captive stream
               remain open after the deflation or inflation occurs.  By default, after
               <c>Close()</c> is called on the stream, the captive stream is also
               closed. In some cases this is not desired, for example if the stream is a
               memory stream that will be re-read after compressed data has been written
               to it.  Specify true for the <paramref name="leaveOpen"/> parameter to leave
               the stream open.
             </para>
            
             <para>
               The <see cref="T:FarPoint.PDF.Streams.Flate.CompressionMode"/> (Compress or Decompress) also
               establishes the "direction" of the stream.  A <c>GZipStream</c> with
               <c>CompressionMode.Compress</c> works only through <c>Write()</c>.  A <c>GZipStream</c>
               with <c>CompressionMode.Decompress</c> works only through <c>Read()</c>.
             </para>
            
             <para>
               The <c>GZipStream</c> will use the default compression level. If you want
               to specify the compression level, see <see cref="M:FarPoint.PDF.Streams.Flate.GZipStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,FarPoint.PDF.Streams.Flate.CompressionLevel,System.Boolean)"/>.
             </para>
            
             <para>
               See the other overloads of this constructor for example code.
             </para>
            
             </remarks>
            
             <param name="stream">
               The stream which will be read or written. This is called the "captive"
               stream in other places in this documentation.
             </param>
            
             <param name="mode">Indicates whether the GZipStream will compress or decompress.
             </param>
            
             <param name="leaveOpen">
               true if the application would like the base stream to remain open after
               inflation/deflation.
             </param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,FarPoint.PDF.Streams.Flate.CompressionLevel,System.Boolean)">
             <summary>
               Create a <c>GZipStream</c> using the specified <c>CompressionMode</c> and the
               specified <c>CompressionLevel</c>, and explicitly specify whether the
               stream should be left open after Deflation or Inflation.
             </summary>
            
             <remarks>
            
             <para>
               This constructor allows the application to request that the captive stream
               remain open after the deflation or inflation occurs.  By default, after
               <c>Close()</c> is called on the stream, the captive stream is also
               closed. In some cases this is not desired, for example if the stream is a
               memory stream that will be re-read after compressed data has been written
               to it.  Specify true for the <paramref name="leaveOpen"/> parameter to
               leave the stream open.
             </para>
            
             <para>
               As noted in the class documentation, the <c>CompressionMode</c> (Compress
               or Decompress) also establishes the "direction" of the stream.  A
               <c>GZipStream</c> with <c>CompressionMode.Compress</c> works only through
               <c>Write()</c>.  A <c>GZipStream</c> with <c>CompressionMode.Decompress</c> works only
               through <c>Read()</c>.
             </para>
            
             </remarks>
            
             <example>
               This example shows how to use a <c>GZipStream</c> to compress data.
             <code>
             using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
             {
                 using (var raw = System.IO.File.Create(outputFile))
                 {
                     using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, true))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n;
                         while ((n= input.Read(buffer, 0, buffer.Length)) != 0)
                         {
                             compressor.Write(buffer, 0, n);
                         }
                     }
                 }
             }
             </code>
             <code lang="VB">
             Dim outputFile As String = (fileToCompress &amp; ".compressed")
             Using input As Stream = File.OpenRead(fileToCompress)
                 Using raw As FileStream = File.Create(outputFile)
                 Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, True)
                     Dim buffer As Byte() = New Byte(4096) {}
                     Dim n As Integer = -1
                     Do While (n &lt;&gt; 0)
                         If (n &gt; 0) Then
                             compressor.Write(buffer, 0, n)
                         End If
                         n = input.Read(buffer, 0, buffer.Length)
                     Loop
                 End Using
                 End Using
             End Using
             </code>
             </example>
             <param name="stream">The stream which will be read or written.</param>
             <param name="mode">Indicates whether the GZipStream will compress or decompress.</param>
             <param name="leaveOpen">true if the application would like the stream to remain open after inflation/deflation.</param>
             <param name="level">A tuning knob to trade speed for effectiveness.</param>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.FlushMode">
            <summary>
            This property sets the flush behavior on the stream.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.BufferSize">
             <summary>
               The size of the working buffer for the compression codec.
             </summary>
            
             <remarks>
             <para>
               The working buffer is used for all stream operations.  The default size is
               1024 bytes.  The minimum size is 128 bytes. You may get better performance
               with a larger buffer.  Then again, you might not.  You would have to test
               it.
             </para>
            
             <para>
               Set this before the first call to <c>Read()</c> or <c>Write()</c> on the
               stream. If you try to set it afterwards, it will throw.
             </para>
             </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.TotalIn">
            <summary> Returns the total number of bytes input so far.</summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.TotalOut">
            <summary> Returns the total number of bytes output so far.</summary>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.Dispose(System.Boolean)">
            <summary>
              Dispose the stream.
            </summary>
            <remarks>
              <para>
                This may or may not result in a <c>Close()</c> call on the captive
                stream.  See the constructors that have a <c>leaveOpen</c> parameter
                for more information.
              </para>
              <para>
                This method may be invoked in two distinct scenarios.  If disposing
                == true, the method has been called directly or indirectly by a
                user's code, for example via the public Dispose() method. In this
                case, both managed and unmanaged resources can be referenced and
                disposed.  If disposing == false, the method has been called by the
                runtime from inside the object finalizer and this method should not
                reference other objects; in that case only unmanaged resources must
                be referenced or disposed.
              </para>
            </remarks>
            <param name="disposing">
              indicates whether the Dispose method was invoked by user code.
            </param>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.CanRead">
            <summary>
            Indicates whether the stream can be read.
            </summary>
            <remarks>
            The return value depends on whether the captive stream supports reading.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.CanSeek">
            <summary>
            Indicates whether the stream supports Seek operations.
            </summary>
            <remarks>
            Always returns false.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.CanWrite">
            <summary>
            Indicates whether the stream can be written.
            </summary>
            <remarks>
            The return value depends on whether the captive stream supports writing.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.Flush">
            <summary>
            Flush the stream.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.Length">
            <summary>
            Reading this property always throws a <see cref="T:System.NotImplementedException"/>.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.GZipStream.Position">
             <summary>
               The position of the stream pointer.
             </summary>
            
             <remarks>
               Setting this property always throws a <see
               cref="T:System.NotImplementedException"/>. Reading will return the total bytes
               written out, if used in writing, or the total bytes read in, if used in
               reading.  The count may refer to compressed bytes or uncompressed bytes,
               depending on how you've used the stream.
             </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.Read(System.Byte[],System.Int32,System.Int32)">
             <summary>
               Read and decompress data from the source stream.
             </summary>
            
             <remarks>
               With a <c>GZipStream</c>, decompression is done through reading.
             </remarks>
            
             <example>
             <code>
             byte[] working = new byte[WORKING_BUFFER_SIZE];
             using (System.IO.Stream input = System.IO.File.OpenRead(_CompressedFile))
             {
                 using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true))
                 {
                     using (var output = System.IO.File.Create(_DecompressedFile))
                     {
                         int n;
                         while ((n= decompressor.Read(working, 0, working.Length)) !=0)
                         {
                             output.Write(working, 0, n);
                         }
                     }
                 }
             }
             </code>
             </example>
             <param name="buffer">The buffer into which the decompressed data should be placed.</param>
             <param name="offset">the offset within that data array to put the first byte read.</param>
             <param name="count">the number of bytes to read.</param>
             <returns>the number of bytes actually read</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.Seek(System.Int64,System.IO.SeekOrigin)">
            <summary>
              Calling this method always throws a <see cref="T:System.NotImplementedException"/>.
            </summary>
            <param name="offset">irrelevant; it will always throw!</param>
            <param name="origin">irrelevant; it will always throw!</param>
            <returns>irrelevant!</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.SetLength(System.Int64)">
            <summary>
              Calling this method always throws a <see cref="T:System.NotImplementedException"/>.
            </summary>
            <param name="value">irrelevant; this method will always throw!</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.Write(System.Byte[],System.Int32,System.Int32)">
             <summary>
               Write data to the stream.
             </summary>
            
             <remarks>
             <para>
               If you wish to use the <c>GZipStream</c> to compress data while writing,
               you can create a <c>GZipStream</c> with <c>CompressionMode.Compress</c>, and a
               writable output stream.  Then call <c>Write()</c> on that <c>GZipStream</c>,
               providing uncompressed data as input.  The data sent to the output stream
               will be the compressed form of the data written.
             </para>
            
             <para>
               A <c>GZipStream</c> can be used for <c>Read()</c> or <c>Write()</c>, but not
               both. Writing implies compression.  Reading implies decompression.
             </para>
            
             </remarks>
             <param name="buffer">The buffer holding data to write to the stream.</param>
             <param name="offset">the offset within that data array to find the first byte to write.</param>
             <param name="count">the number of bytes to write.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressString(System.String)">
             <summary>
               Compress a string into a byte array using GZip.
             </summary>
            
             <remarks>
               Uncompress it with <see cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressString(System.Byte[])"/>.
             </remarks>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressString(System.Byte[])"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressBuffer(System.Byte[])"/>
            
             <param name="s">
               A string to compress. The string will first be encoded
               using UTF8, then compressed.
             </param>
            
             <returns>The string in compressed form</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressBuffer(System.Byte[])">
             <summary>
               Compress a byte array into a new byte array using GZip.
             </summary>
            
             <remarks>
               Uncompress it with <see cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressBuffer(System.Byte[])"/>.
             </remarks>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressString(System.String)"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressBuffer(System.Byte[])"/>
            
             <param name="b">
               A buffer to compress.
             </param>
            
             <returns>The data in compressed form</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressString(System.Byte[])">
             <summary>
               Uncompress a GZip'ed byte array into a single string.
             </summary>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressString(System.String)"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressBuffer(System.Byte[])"/>
            
             <param name="compressed">
               A buffer containing GZIP-compressed data.
             </param>
            
             <returns>The uncompressed string</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressBuffer(System.Byte[])">
             <summary>
               Uncompress a GZip'ed byte array into a byte array.
             </summary>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressBuffer(System.Byte[])"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.UncompressString(System.Byte[])"/>
            
             <param name="compressed">
               A buffer containing data that has been compressed with GZip.
             </param>
            
             <returns>The data in uncompressed form</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.Tree.DistanceCode(System.Int32)">
            <summary>
            Map from a distance to a distance code.
            </summary>
            <remarks> 
            No side effects. _dist_code[256] and _dist_code[257] are never used.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.SharedUtils.URShift(System.Int32,System.Int32)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.SharedUtils.ReadInput(System.IO.TextReader,System.Byte[],System.Int32,System.Int32)">
             <summary>
               Reads a number of characters from the current source TextReader and writes
               the data to the target array at the specified index.
             </summary>
            
             <param name="sourceTextReader">The source TextReader to read from</param>
             <param name="target">Contains the array of characteres read from the source TextReader.</param>
             <param name="start">The starting index of the target array.</param>
             <param name="count">The maximum number of characters to read from the source TextReader.</param>
            
             <returns>
               The number of characters read. The number will be less than or equal to
               count depending on the data available in the source TextReader. Returns -1
               if the end of the stream is reached.
             </returns>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.Adler">
             <summary>
             Computes an Adler-32 checksum.
             </summary>
             <remarks>
             The Adler checksum is similar to a CRC checksum, but faster to compute, though less
             reliable.  It is used in producing RFC1950 compressed streams.  The Adler checksum
             is a required part of the "ZLIB" standard.  Applications will almost never need to
             use this class directly.
             </remarks>
            
             <exclude/>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.Adler.Adler32(System.UInt32,System.Byte[],System.Int32,System.Int32)">
            <summary>
              Calculates the Adler32 checksum.
            </summary>
            <remarks>
              <para>
                This is used within ZLIB.  You probably don't need to use this directly.
              </para>
            </remarks>
            <example>
               To compute an Adler32 checksum on a byte array:
             <code>
               var adler = Adler.Adler32(0, null, 0, 0);
               adler = Adler.Adler32(adler, buffer, index, length);
             </code>
            </example>
        </member>
        <member name="T:FarPoint.PDF.Streams.Flate.ZlibStream">
             <summary>
             Represents a Zlib stream for compression or decompression.
             </summary>
             <remarks>
            
             <para>
             The ZlibStream is a <see
             href="http://en.wikipedia.org/wiki/Decorator_pattern">Decorator</see> on a <see
             cref="T:System.IO.Stream"/>.  It adds ZLIB compression or decompression to any
             stream.
             </para>
            
             <para> Using this stream, applications can compress or decompress data via
             stream <c>Read()</c> and <c>Write()</c> operations.  Either compresssion or
             decompression can occur through either reading or writing. The compression
             format used is ZLIB, which is documented in <see
             href="http://www.ietf.org/rfc/rfc1950.txt">IETF RFC 1950</see>, "ZLIB Compressed
             Data Format Specification version 3.3". This implementation of ZLIB always uses
             DEFLATE as the compression method.  (see <see
             href="http://www.ietf.org/rfc/rfc1951.txt">IETF RFC 1951</see>, "DEFLATE
             Compressed Data Format Specification version 1.3.") </para>
            
             <para>
             The ZLIB format allows for varying compression methods, window sizes, and dictionaries.
             This implementation always uses the DEFLATE compression method, a preset dictionary,
             and 15 window bits by default.
             </para>
            
             <para>
             This class is similar to <see cref="T:FarPoint.PDF.Streams.Flate.DeflateStream"/>, except that it adds the
             RFC1950 header and trailer bytes to a compressed stream when compressing, or expects
             the RFC1950 header and trailer bytes when decompressing.  It is also similar to the
             <see cref="T:FarPoint.PDF.Streams.Flate.GZipStream"/>.
             </para>
             </remarks>
             <seealso cref="T:FarPoint.PDF.Streams.Flate.DeflateStream" />
             <seealso cref="T:FarPoint.PDF.Streams.Flate.GZipStream" />
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode)">
             <summary>
             Create a <c>ZlibStream</c> using the specified <c>CompressionMode</c>.
             </summary>
             <remarks>
            
             <para>
               When mode is <c>CompressionMode.Compress</c>, the <c>ZlibStream</c>
               will use the default compression level. The "captive" stream will be
               closed when the <c>ZlibStream</c> is closed.
             </para>
            
             </remarks>
            
             <example>
             This example uses a <c>ZlibStream</c> to compress a file, and writes the
             compressed data to another file.
             <code>
             using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
             {
                 using (var raw = System.IO.File.Create(fileToCompress + ".zlib"))
                 {
                     using (Stream compressor = new ZlibStream(raw, CompressionMode.Compress))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n;
                         while ((n= input.Read(buffer, 0, buffer.Length)) != 0)
                         {
                             compressor.Write(buffer, 0, n);
                         }
                     }
                 }
             }
             </code>
             <code lang="VB">
             Using input As Stream = File.OpenRead(fileToCompress)
                 Using raw As FileStream = File.Create(fileToCompress &amp; ".zlib")
                 Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress)
                     Dim buffer As Byte() = New Byte(4096) {}
                     Dim n As Integer = -1
                     Do While (n &lt;&gt; 0)
                         If (n &gt; 0) Then
                             compressor.Write(buffer, 0, n)
                         End If
                         n = input.Read(buffer, 0, buffer.Length)
                     Loop
                 End Using
                 End Using
             End Using
             </code>
             </example>
            
             <param name="stream">The stream which will be read or written.</param>
             <param name="mode">Indicates whether the ZlibStream will compress or decompress.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,FarPoint.PDF.Streams.Flate.CompressionLevel)">
             <summary>
               Create a <c>ZlibStream</c> using the specified <c>CompressionMode</c> and
               the specified <c>CompressionLevel</c>.
             </summary>
            
             <remarks>
            
             <para>
               When mode is <c>CompressionMode.Decompress</c>, the level parameter is ignored.
               The "captive" stream will be closed when the <c>ZlibStream</c> is closed.
             </para>
            
             </remarks>
            
             <example>
               This example uses a <c>ZlibStream</c> to compress data from a file, and writes the
               compressed data to another file.
            
             <code>
             using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
             {
                 using (var raw = System.IO.File.Create(fileToCompress + ".zlib"))
                 {
                     using (Stream compressor = new ZlibStream(raw,
                                                               CompressionMode.Compress,
                                                               CompressionLevel.BestCompression))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n;
                         while ((n= input.Read(buffer, 0, buffer.Length)) != 0)
                         {
                             compressor.Write(buffer, 0, n);
                         }
                     }
                 }
             }
             </code>
            
             <code lang="VB">
             Using input As Stream = File.OpenRead(fileToCompress)
                 Using raw As FileStream = File.Create(fileToCompress &amp; ".zlib")
                     Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression)
                         Dim buffer As Byte() = New Byte(4096) {}
                         Dim n As Integer = -1
                         Do While (n &lt;&gt; 0)
                             If (n &gt; 0) Then
                                 compressor.Write(buffer, 0, n)
                             End If
                             n = input.Read(buffer, 0, buffer.Length)
                         Loop
                     End Using
                 End Using
             End Using
             </code>
             </example>
            
             <param name="stream">The stream to be read or written while deflating or inflating.</param>
             <param name="mode">Indicates whether the ZlibStream will compress or decompress.</param>
             <param name="level">A tuning knob to trade speed for effectiveness.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,System.Boolean)">
             <summary>
               Create a <c>ZlibStream</c> using the specified <c>CompressionMode</c>, and
               explicitly specify whether the captive stream should be left open after
               Deflation or Inflation.
             </summary>
            
             <remarks>
            
             <para>
               When mode is <c>CompressionMode.Compress</c>, the <c>ZlibStream</c> will use
               the default compression level.
             </para>
            
             <para>
               This constructor allows the application to request that the captive stream
               remain open after the deflation or inflation occurs.  By default, after
               <c>Close()</c> is called on the stream, the captive stream is also
               closed. In some cases this is not desired, for example if the stream is a
               <see cref="T:System.IO.MemoryStream"/> that will be re-read after
               compression.  Specify true for the <paramref name="leaveOpen"/> parameter to leave the stream
               open.
             </para>
            
             <para>
             See the other overloads of this constructor for example code.
             </para>
            
             </remarks>
            
             <param name="stream">The stream which will be read or written. This is called the
             "captive" stream in other places in this documentation.</param>
             <param name="mode">Indicates whether the ZlibStream will compress or decompress.</param>
             <param name="leaveOpen">true if the application would like the stream to remain
             open after inflation/deflation.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.#ctor(System.IO.Stream,FarPoint.PDF.Streams.Flate.CompressionMode,FarPoint.PDF.Streams.Flate.CompressionLevel,System.Boolean)">
             <summary>
               Create a <c>ZlibStream</c> using the specified <c>CompressionMode</c>
               and the specified <c>CompressionLevel</c>, and explicitly specify
               whether the stream should be left open after Deflation or Inflation.
             </summary>
            
             <remarks>
            
             <para>
               This constructor allows the application to request that the captive
               stream remain open after the deflation or inflation occurs.  By
               default, after <c>Close()</c> is called on the stream, the captive
               stream is also closed. In some cases this is not desired, for example
               if the stream is a <see cref="T:System.IO.MemoryStream"/> that will be
               re-read after compression.  Specify true for the <paramref
               name="leaveOpen"/> parameter to leave the stream open.
             </para>
            
             <para>
               When mode is <c>CompressionMode.Decompress</c>, the level parameter is
               ignored.
             </para>
            
             </remarks>
            
             <example>
            
             This example shows how to use a ZlibStream to compress the data from a file,
             and store the result into another file. The filestream remains open to allow
             additional data to be written to it.
            
             <code>
             using (var output = System.IO.File.Create(fileToCompress + ".zlib"))
             {
                 using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress))
                 {
                     using (Stream compressor = new ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, true))
                     {
                         byte[] buffer = new byte[WORKING_BUFFER_SIZE];
                         int n;
                         while ((n= input.Read(buffer, 0, buffer.Length)) != 0)
                         {
                             compressor.Write(buffer, 0, n);
                         }
                     }
                 }
                 // can write additional data to the output stream here
             }
             </code>
             <code lang="VB">
             Using output As FileStream = File.Create(fileToCompress &amp; ".zlib")
                 Using input As Stream = File.OpenRead(fileToCompress)
                     Using compressor As Stream = New ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, True)
                         Dim buffer As Byte() = New Byte(4096) {}
                         Dim n As Integer = -1
                         Do While (n &lt;&gt; 0)
                             If (n &gt; 0) Then
                                 compressor.Write(buffer, 0, n)
                             End If
                             n = input.Read(buffer, 0, buffer.Length)
                         Loop
                     End Using
                 End Using
                 ' can write additional data to the output stream here.
             End Using
             </code>
             </example>
            
             <param name="stream">The stream which will be read or written.</param>
            
             <param name="mode">Indicates whether the ZlibStream will compress or decompress.</param>
            
             <param name="leaveOpen">
             true if the application would like the stream to remain open after
             inflation/deflation.
             </param>
            
             <param name="level">
             A tuning knob to trade speed for effectiveness. This parameter is
             effective only when mode is <c>CompressionMode.Compress</c>.
             </param>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.FlushMode">
            <summary>
            This property sets the flush behavior on the stream.
            Sorry, though, not sure exactly how to describe all the various settings.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.BufferSize">
             <summary>
               The size of the working buffer for the compression codec.
             </summary>
            
             <remarks>
             <para>
               The working buffer is used for all stream operations.  The default size is
               1024 bytes. The minimum size is 128 bytes. You may get better performance
               with a larger buffer.  Then again, you might not.  You would have to test
               it.
             </para>
            
             <para>
               Set this before the first call to <c>Read()</c> or <c>Write()</c> on the
               stream. If you try to set it afterwards, it will throw.
             </para>
             </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.TotalIn">
            <summary> Returns the total number of bytes input so far.</summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.TotalOut">
            <summary> Returns the total number of bytes output so far.</summary>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.Dispose(System.Boolean)">
            <summary>
              Dispose the stream.
            </summary>
            <remarks>
              <para>
                This may or may not result in a <c>Close()</c> call on the captive
                stream.  See the constructors that have a <c>leaveOpen</c> parameter
                for more information.
              </para>
              <para>
                This method may be invoked in two distinct scenarios.  If disposing
                == true, the method has been called directly or indirectly by a
                user's code, for example via the public Dispose() method. In this
                case, both managed and unmanaged resources can be referenced and
                disposed.  If disposing == false, the method has been called by the
                runtime from inside the object finalizer and this method should not
                reference other objects; in that case only unmanaged resources must
                be referenced or disposed.
              </para>
            </remarks>
            <param name="disposing">
              indicates whether the Dispose method was invoked by user code.
            </param>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.CanRead">
            <summary>
            Indicates whether the stream can be read.
            </summary>
            <remarks>
            The return value depends on whether the captive stream supports reading.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.CanSeek">
            <summary>
            Indicates whether the stream supports Seek operations.
            </summary>
            <remarks>
            Always returns false.
            </remarks>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.CanWrite">
            <summary>
            Indicates whether the stream can be written.
            </summary>
            <remarks>
            The return value depends on whether the captive stream supports writing.
            </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.Flush">
            <summary>
            Flush the stream.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.Length">
            <summary>
            Reading this property always throws a <see cref="T:System.NotSupportedException"/>.
            </summary>
        </member>
        <member name="P:FarPoint.PDF.Streams.Flate.ZlibStream.Position">
             <summary>
               The position of the stream pointer.
             </summary>
            
             <remarks>
               Setting this property always throws a <see
               cref="T:System.NotSupportedException"/>. Reading will return the total bytes
               written out, if used in writing, or the total bytes read in, if used in
               reading.  The count may refer to compressed bytes or uncompressed bytes,
               depending on how you've used the stream.
             </remarks>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.Read(System.Byte[],System.Int32,System.Int32)">
             <summary>
             Read data from the stream.
             </summary>
            
             <remarks>
            
             <para>
               If you wish to use the <c>ZlibStream</c> to compress data while reading,
               you can create a <c>ZlibStream</c> with <c>CompressionMode.Compress</c>,
               providing an uncompressed data stream.  Then call <c>Read()</c> on that
               <c>ZlibStream</c>, and the data read will be compressed.  If you wish to
               use the <c>ZlibStream</c> to decompress data while reading, you can create
               a <c>ZlibStream</c> with <c>CompressionMode.Decompress</c>, providing a
               readable compressed data stream.  Then call <c>Read()</c> on that
               <c>ZlibStream</c>, and the data will be decompressed as it is read.
             </para>
            
             <para>
               A <c>ZlibStream</c> can be used for <c>Read()</c> or <c>Write()</c>, but
               not both.
             </para>
            
             </remarks>
            
             <param name="buffer">
             The buffer into which the read data should be placed.</param>
            
             <param name="offset">
             the offset within that data array to put the first byte read.</param>
            
             <param name="count">the number of bytes to read.</param>
            
             <returns>the number of bytes read</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.Seek(System.Int64,System.IO.SeekOrigin)">
             <summary>
             Calling this method always throws a <see cref="T:System.NotSupportedException"/>.
             </summary>
             <param name="offset">
               The offset to seek to....
               IF THIS METHOD ACTUALLY DID ANYTHING.
             </param>
             <param name="origin">
               The reference specifying how to apply the offset....  IF
               THIS METHOD ACTUALLY DID ANYTHING.
             </param>
            
             <returns>nothing. This method always throws.</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.SetLength(System.Int64)">
            <summary>
            Calling this method always throws a <see cref="T:System.NotSupportedException"/>.
            </summary>
            <param name="value">
              The new value for the stream length....  IF
              THIS METHOD ACTUALLY DID ANYTHING.
            </param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.Write(System.Byte[],System.Int32,System.Int32)">
             <summary>
             Write data to the stream.
             </summary>
            
             <remarks>
            
             <para>
               If you wish to use the <c>ZlibStream</c> to compress data while writing,
               you can create a <c>ZlibStream</c> with <c>CompressionMode.Compress</c>,
               and a writable output stream.  Then call <c>Write()</c> on that
               <c>ZlibStream</c>, providing uncompressed data as input.  The data sent to
               the output stream will be the compressed form of the data written.  If you
               wish to use the <c>ZlibStream</c> to decompress data while writing, you
               can create a <c>ZlibStream</c> with <c>CompressionMode.Decompress</c>, and a
               writable output stream.  Then call <c>Write()</c> on that stream,
               providing previously compressed data. The data sent to the output stream
               will be the decompressed form of the data written.
             </para>
            
             <para>
               A <c>ZlibStream</c> can be used for <c>Read()</c> or <c>Write()</c>, but not both.
             </para>
             </remarks>
             <param name="buffer">The buffer holding data to write to the stream.</param>
             <param name="offset">the offset within that data array to find the first byte to write.</param>
             <param name="count">the number of bytes to write.</param>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressString(System.String)">
             <summary>
               Compress a string into a byte array using ZLIB.
             </summary>
            
             <remarks>
               Uncompress it with <see cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressString(System.Byte[])"/>.
             </remarks>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressString(System.Byte[])"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressBuffer(System.Byte[])"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.GZipStream.CompressString(System.String)"/>
            
             <param name="s">
               A string to compress.  The string will first be encoded
               using UTF8, then compressed.
             </param>
            
             <returns>The string in compressed form</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressBuffer(System.Byte[])">
             <summary>
               Compress a byte array into a new byte array using ZLIB.
             </summary>
            
             <remarks>
               Uncompress it with <see cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressBuffer(System.Byte[])"/>.
             </remarks>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressString(System.String)"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressBuffer(System.Byte[])"/>
            
             <param name="b">
             A buffer to compress.
             </param>
            
             <returns>The data in compressed form</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressString(System.Byte[])">
             <summary>
               Uncompress a ZLIB-compressed byte array into a single string.
             </summary>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressString(System.String)"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressBuffer(System.Byte[])"/>
            
             <param name="compressed">
               A buffer containing ZLIB-compressed data.
             </param>
            
             <returns>The uncompressed string</returns>
        </member>
        <member name="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressBuffer(System.Byte[])">
             <summary>
               Uncompress a ZLIB-compressed byte array into a byte array.
             </summary>
            
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.CompressBuffer(System.Byte[])"/>
             <seealso cref="M:FarPoint.PDF.Streams.Flate.ZlibStream.UncompressString(System.Byte[])"/>
            
             <param name="compressed">
               A buffer containing ZLIB-compressed data.
             </param>
            
             <returns>The data in uncompressed form</returns>
        </member>
        <member name="T:SupportClass">
            <summary>
            Contains conversion support elements such as classes, interfaces and static methods.
            </summary>
        </member>
        <member name="M:SupportClass.Identity(System.Int64)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.Identity(System.UInt64)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.Identity(System.Single)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.Identity(System.Double)">
            <summary>
            This method returns the literal value received
            </summary>
            <param name="literal">The literal to return</param>
            <returns>The received value</returns>
        </member>
        <member name="M:SupportClass.ToByteArray(System.SByte[])">
            <summary>
            Converts an array of sbytes to an array of bytes
            </summary>
            <param name="sbyteArray">The array of sbytes to be converted</param>
            <returns>The new array of bytes</returns>
        </member>
        <member name="M:SupportClass.ToByteArray(System.String)">
            <summary>
            Converts a string to an array of bytes
            </summary>
            <param name="sourceString">The string to be converted</param>
            <returns>The new array of bytes</returns>
        </member>
        <member name="M:SupportClass.ToByteArray(System.Object[])">
            <summary>
            Converts a array of object-type instances to a byte-type array.
            </summary>
            <param name="tempObjectArray">Array to convert.</param>
            <returns>An array of byte type elements.</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int32,System.Int32)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int32,System.Int64)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int64,System.Int32)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.URShift(System.Int64,System.Int64)">
            <summary>
            Performs an unsigned bitwise right shift with the specified number
            </summary>
            <param name="number">Number to operate on</param>
            <param name="bits">Ammount of bits to shift</param>
            <returns>The resulting number from the shift operation</returns>
        </member>
        <member name="M:SupportClass.ReadInput(System.IO.Stream,System.SByte[]@,System.Int32,System.Int32)">
            <summary>Reads a number of characters from the current source Stream and writes the data to the target array at the specified index.</summary>
            <param name="sourceStream">The source Stream to read from.</param>
            <param name="target">Contains the array of characteres read from the source Stream.</param>
            <param name="start">The starting index of the target array.</param>
            <param name="count">The maximum number of characters to read from the source Stream.</param>
            <returns>The number of characters read. The number will be less than or equal to count depending on the data available in the source Stream. Returns -1 if the end of the stream is reached.</returns>
        </member>
        <member name="M:SupportClass.ReadInput(System.IO.TextReader,System.SByte[]@,System.Int32,System.Int32)">
            <summary>Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index.</summary>
            <param name="sourceTextReader">The source TextReader to read from</param>
            <param name="target">Contains the array of characteres read from the source TextReader.</param>
            <param name="start">The starting index of the target array.</param>
            <param name="count">The maximum number of characters to read from the source TextReader.</param>
            <returns>The number of characters read. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the end of the stream is reached.</returns>
        </member>
    </members>
</doc>
