Telerik.Windows.Documents.Flow.FormatProviders.Doc
Raster bits of the blip
Required type on Win32
Rectangle that describe sthe bounds of the anchor
The number of shapes in this drawing
The last MSOSPID given to an SP in this DG
Cache of the metafile size
Cache of saved size (size of m_pvBits)
Compression
Compressed bits of metafile.
Decompresses the bits of the picture if the picture is decompressed.
If the picture is not compressed, it returns original byte array.
Used for mapping Office record TypeCodes to the classes implementing them.
Used for mapping Office shape types to the classes implementing them.
Index of sibling, 0 for first child in container, 1 for second child and so on...
Finds the first ancestor of the given type.
Type of ancestor to search for
First ancestor with appropriate type or null if none was found
Updates the Dictionary used for mapping Office record TypeCodes to Office record classes.
This is done by querying all classes in the specified assembly filtered by the specified
namespace and looking for attributes of type OfficeRecordAttribute.
Assembly to scan
Namespace to scan or null for all namespaces
Regular containers are containers with Record children.
(There also is containers that only have a zipped XML payload.
Finds all children of the given type.
Type of child to search for
List of children with appropriate type or null if none were found
Finds the first child of the given type.
Type of child to search for
First child with appropriate type or null if none was found
This shape is a group shape
Not a top-level shape
This is the topmost group shape.
Exactly one of these per drawing.
Shape is flipped horizontally
Shape is flipped vertically
The shape type of the shape
Searches all OptionEntry in the ShapeContainer and puts them into a list.
A List containing all OptionEntry of the ShapeContainer
interim solution
OOX uses an additional attribute: arcsize
This string describes a sequence of commands that define the shape’s path.
This string describes both the pSegmentInfo array and pVertices array in the shape’s geometry properties.
This specifies a list of formulas whose calculated values are referenced by other properties.
Each formula is listed on a separate line. Formulas are ordered, with the first formula having index 0.
This section can be omitted if the shape doesn’t need any guides.
Specifies a comma-delimited list of parameters, or adjustment values,
used to define values for a parameterized formula.
These values represent the location of an adjust handle and may be
referenced by the geometry of an adjust handle or as a parameter guide function.
These values specify the location of connection points on the shape’s path.
The connection points are defined by a string consisting of pairs of x and y values, delimited by commas.
This section specifies the properties of each adjust handle on the shape.
One adjust handle is specified per line.
The properties for each handle correspond to values of the ADJH structure
contained in the pAdjustHandles array in the shape’s geometry properties.
Specifies one or more text boxes inscribed inside the shape.
A textbox is defined by one or more sets of numbers specifying (in order) the left, top, right, and bottom points of the rectangle.
Multiple sets are delimited by a semicolon.
If omitted, the text box is the same as the geometry’s bounding box.
Specifies what join style the shape has.
Since there is no UI for changing the join style,
all shapes of this type will always have the specified join style.
Specifies the (x,y) coordinates of the limo stretch point.
Some shapes that have portions that should be constrained to a fixed aspect ratio, are designed with limo-stretch to keep those portions at the fixed aspect ratio.
Associated with each connection site, there is a direction which specifies at what angle elbow and curved connectors should attach to it
Specifies if a shape of this type is filled by default
Specifies if a shape of this type is stroked by default
Speicfies the locked properties of teh shape.
By default nothing is locked.
Updates the Dictionary used for mapping Office shape type codes to Office ShapeType classes.
This is done by querying all classes in the specified assembly filtered by the specified
namespace and looking for attributes of type OfficeShapeTypeAttribute.
Assembly to scan
Namespace to scan or null for all namespaces
Audio Start Time
Audio End Time
Audio from CD
Audio from WAV File
Audio from File
Video from File
QuickTime from File
Track
Time
Category
3-D Scene
3-D Shape Properties
Text Properties
Shape Style
Title
Style Label Description
Category List
Style Label
Style Definition
Style Definition Header
List of Style Definition Headers
Natural Language
Description Value
Category Type
Priority
Style Name
Unique Style ID
Minimum Version
Resource ID
Camera
Light Rig
Backdrop Plane
Master Color Mapping
Override Color Mapping
Extra Color Scheme
Theme Elements
Object Defaults
Extra Color Scheme List
Custom Color List
Theme
Theme Override
Theme Manager
Background 1
Text 1
Background 2
Text 2
Accent 1
Accent 2
Accent 3
Accent 4
Accent 5
Accent 6
Hyperlink
Followed Hyperlink
Name
Dark 1
Light 1
Dark 2
Light 2
Accent 1
Accent 2
Accent 3
Accent 4
Accent 5
Accent 6
Hyperlink
Followed Hyperlink
Custom color
Latin Font
East Asian Font
Complex Script Font
Font
3D Scene Properties
3D properties
Major Font
Minor fonts
Effect Style
Fill Style List
Line Style List
Effect Style List
Background Fill Style List
Font Scheme
Format Scheme
Name
Script
Typeface
Anchor Point
Normal
Up Vector
Left Border Line Properties
Right Border Line Properties
Top Border Line Properties
Bottom Border Line Properties
Top-Left to Bottom-Right Border Line Properties
Bottom-Left to Top-Right Border Line Properties
Cell 3-D
Table Grid Column
Text Body
Table Cell Properties
Table Cell
Table Style
Table Style ID
Table Properties
Table Grid
Table Row
Table
Left Margin
Right Margin
Top Margin
Bottom Margin
Text Direction
Anchor
Anchor Center
Horizontal Overflow
Width
Row Span
Grid Span
Horizontal Merge
Vertical Merge
Height
Right-to-Left
First Row
First Column
Last Row
Last Column
Banded Rows
Banded Columns
Tint
Shade
Complement
Inverse
Gray
Alpha
Alpha Offset
Alpha Modulation
Hue
Hue Offset
Hue Modulate
Saturation
Saturation Offset
Saturation Modulation
Luminance
Luminance Offset
Luminance Modulation
Red
Red Offset
Red Modulation
Green
Green Offset
Green Modification
Blue
Blue Offset
Blue Modification
Gamma
Inverse Gamma
Extension
Horizontal Ratio
Vertical Ratio
Offset
Child Offset
Child Extents
RGB Color Model - Percentage Variant
RGB Color Model - Hex Variant
Hue, Saturation, Luminance Color Model
System Color
Scheme Color
Preset Color
Hyperlink Sound
Uniform Resource Identifier
Value
Numerator
Denominator
X-Axis Coordinate
Y-Axis Coordinate
Extent Length
Extent Width
Red
Green
Blue
Last Color
Rotation
Horizontal Flip
Vertical Flip
Z-Coordinate in 3D
Distance along X-axis in 3D
Distance along Y-axis in 3D
Distance along Z-axis in 3D
Latitude
Longitude
Revolution
Left Offset
Top Offset
Sound Name
Recognized Built-In Sound
Invalid URL
Action Setting
Target Frame
Hyperlink Tooltip
Add Hyperlink to Page History
Highlight Click
End Sounds
Drawing Element On Click Hyperlink
Hyperlink for Hover
Shape Locks
Connection Shape Locks
Connection Start
Connection End
Picture Locks
Group Shape Locks
Graphic Frame Locks
Disallow Shape Grouping
Disallow Shape Selection
Disallow Shape Rotation
Disallow Aspect Ratio Change
Disallow Shape Movement
Disallow Shape Resize
Disallow Shape Point Editing
Disallow Showing Adjust Handles
Disallow Arrowhead Changes
Disallow Shape Type Change
Disallow Shape Text Editing
Disallow Crop Changes
Disallow Shape Ungrouping
Disallow Selection of Child Shapes
Unique Identifier
Name
Alternative Text for Object
Hidden
Text Box
Relative Resize Preferred
Top Bevel
Bottom Bevel
Extrusion Color
Contour Color
Apply 3D shape properties
No text in 3D scene
Width
Height
Preset Bevel
Shape Depth
Extrusion Height
Contour Width
Preset Material Type
Bevel
Light Rig
Fill
Fill Reference
Line Reference
Effect
Effect Reference
Font
Left Border
Right Border
Top Border
Bottom Border
Inside Horizontal Border
Inside Vertical Border
Top Left to Bottom Right Border
Top Right to Bottom Left Border
Table Cell Borders
Table Cell Text Style
Table Cell Style
Table Background
Whole Table
Band 1 Horizontal
Band 2 Horizontal
Band 1 Vertical
Band 2 Vertical
Last Column
First Column
Last Row
Southeast Cell
Southwest Cell
First Row
Northeast Cell
Northwest Cell
Table Style
Table Style List
Preset Material
Bold
Italic
Style ID
Name
Default
Extension
Numeric Value
Format Code
Point Count
Numeric Point
Formula
Number Cache
Number Reference
Number Literal
String Cache
String Reference
Rich Text
Level
Multi Level String Cache
Multi Level String Reference
String Literal
Layout Target
Left Mode
Top Mode
Width Mode
Height Mode
Left
Top
Width
Height
Manual Layout
Chart Text
Layout
Overlay
X Rotation
Height Percent
Y Rotation
Depth Percent
Right Angle Axes
Perspective
Thickness
Picture Options
Show Horizontal Border
Show Vertical Border
Show Outline Border
Show Legend Keys
Second Pie Point
Number Format
Data Label Position
Show Legend Key
Show Value
Show Category Name
Show Series Name
Show Percent
Show Bubble Size
Separator
Index
Delete
Show Leader Lines
Leader Lines
Data Label
Symbol
Size
Invert if Negative
Marker
3D Bubble
Explosion
Trendline Name
Trendline Type
Polynomial Trendline Order
Period
Forward
Backward
Intercept
Display R Squared Value
Display Equation
Trendline Label
Error Bar Direction
Error Bar Type
Error Bar Value Type
No End Cap
Plus
Minus
Error Bar Value
Gap Width
Up Bars
Down Bars
Data Point
Data Labels
Error Bars
Category Axis Data
Shape
Bubble Size
Grouping
Drop Lines
High Low Lines
Axis ID
Gap Depth
Scatter Style
Radar Style
Bar Direction
Overlap
Series Lines
First Slice Angle
Hole Size
Pie of Pie or Bar of Pie Type
Split Type
Split Position
Custom Split
Second Pie Size
Bubble Scale
Show Negative Bubbles
Size Represents
Band Format
Wireframe
Band Formats
Apply To Front
Apply To Sides
Apply to End
Picture Format
Picture Stack Unit
Custom Display Unit
Built in Display Unit Value
Display Units Label
Logarithmic Base
Axis Orientation
Maximum
Minimum
Scaling
Axis Position
Major Gridlines
Minor Gridlines
Title
Major Tick Mark
Minor Tick Mark
Tick Label Position
Crossing Axis ID
Crosses
Crossing Value
Automatic Category Axis
Label Alignment
Label Offset
Tick Mark Skip
No Multi-level Labels
Base Time Unit
Major Unit
Major Time Unit
Minor Unit
Minor Time Unit
Cross Between
Display Units
Area Charts
3D Area Charts
Line Charts
3D Line Charts
Stock Charts
Radar Charts
Scatter Charts
Pie Charts
3D Pie Charts
Doughnut Charts
Bar Charts
3D Bar Charts
Pie of Pie or Bar of Pie Charts
Surface Charts
3D Surface Charts
Bubble Charts
Value Axis
Category Axis Data
Date Axis
Series Axis
Data Table
Pivot Format
Legend Position
Legend Entry
Auto Title Is Deleted
Pivot Formats
View In 3D
Floor
Side Wall
Back Wall
Plot Area
Legend
Plot Visible Only
Display Blanks As
Show Data Labels over Maximum
Format ID
Chart Object
Data Cannot Be Changed
Formatting
Selection
User Interface
Odd Header
Odd Footer
Even Header
Even Footer
First Header
First Footer
Update Automatically
Header and Footer
Page Margins
Page Setup
Legacy Drawing for Headers and Footers
1904 Date System
Editing Language
Rounded Corners
Style
Color Map Override
Pivot Source
Protection
Chart
External Data Relationship
Print Settings
Reference to Chart Drawing Part
Chart Space
Uniform Resource Identifier
Linked to Source
Align With Margins
Different Odd Even
Different First
Index
Left
Right
Top
Bottom
Header
Footer
Page Size
First Page Number
Black and White
Draft
Use First Page Number
Horizontal DPI
Vertical DPI
Copies
Graphic Object Data
Graphic Object
Uniform Resource Identifier
Change Color From
Change Color To
Fill To Rectangle
Linear Gradient Fill
Path Gradient
Gradient stops
Gradient Stop List
Tile Rectangle
Fill Rectangle
Tile
Stretch
Alpha Bi-Level Effect
Alpha Modulate Fixed Effect
Bi-Level (Black/White) Effect
Solid Color Replacement
Luminance Effect
Tint Effect
Source Rectangle
Foreground color
Background color
Pattern Fill
Group Fill
Effect Container
Effect
Alpha Inset/Outset Effect
Blend Effect
Fill
Glow Effect
Inner Shadow Effect
Outer Shadow Effect
Preset Shadow
Reflection Effect
Relative Offset Effect
Soft Edge Effect
Transform Effect
Effect Container
Effect Container
Threshold
Amount
Radius
Alpha
Grow Bounds
Consider Alpha Values
Hue
Saturation
Blur Radius
Distance
Direction
Brightness
Contrast
Horizontal Scaling Factor
Vertical Scaling Factor
Horizontal Skew
Vertical Skew
Shadow Alignment
Rotate With Shape
Preset Shadow
Start Opacity
Start Position
End Alpha
End Position
Fade Direction
Offset X
Offset Y
Angle
Scaled
Position
Tile Flip
Compression State
DPI Setting
Reference
Effect Container Type
Name
Text Paragraph Properties
End Paragraph Run Properties
Default Paragraph Style
List Level 1 Text Style
List Level 2 Text Style
List Level 3 Text Style
List Level 4 Text Style
List Level 5 Text Style
List Level 6 Text Style
List Level 7 Text Style
List Level 8 Text Style
List Level 9 Text Style
No AutoFit
Normal AutoFit
Shape AutoFit
Preset Text Shape
3D Scene Properties
Body Properties
Text List Styles
Text Paragraphs
Font Scale
Line Space Reduction
Rotation
Paragraph Spacing
Text Vertical Overflow
Text Horizontal Overflow
Vertical Text
Text Wrapping Type
Left Inset
Top Inset
Right Inset
Bottom Inset
Number of Columns
Space Between Columns
Columns Right-To-Left
From WordArt
Anchor
Anchor Center
Force Anti-Alias
Text Upright
Compatible Line Spacing
Chart Non Visual Properties
Non-Visual Shape Drawing Properties
Non-Visual Shape Properties
Shape Properties
Shape Style
Shape Text Body
Non-Visual Connection Shape Drawing Properties
Connector Non Visual Properties
Non-Visual Picture Drawing Properties
Non-Visual Picture Properties
Picture Fill
Non-Visual Graphic Frame Drawing Properties
Non-Visual Graphic Frame Properties
Graphic Frame Transform
Non-Visual Group Shape Drawing Properties
Non-Visual Group Shape Properties
Group Shape Properties
Shape
Group Shape
Graphic Frame
Connector Shape
Picture
Relative X Coordinate
Relative Y Coordinate
Starting Anchor Point
Ending Anchor Point
Shape Extent
Relative Anchor Shape Size
Absolute Anchor Shape Size
Reference to Custom Function
Text Link
Lock Text
Publish to Server
Diagram to Animate
Chart to Animate
Build Diagram
Build Chart
Identifier
Animation Build Step
Series Index
Category Index
Build
Reverse Animation
Animate Background
Shape Guide
Position
XY Adjust Handle
Polar Adjust Handle
Shape Connection Site
Move end point
Close Shape Path
Move Path To
Draw Line To
Draw Arc To
Draw Quadratic Bezier Curve To
Draw Cubic Bezier Curve To
Shape Path
List of Shape Adjust Values
List of Shape Guides
List of Shape Adjust Handles
List of Shape Connection Sites
Shape Text Rectangle
List of Shape Paths
Custom geometry
Preset geometry
Preset Text Warp
Shape Guide Name
Shape Guide Formula
X-Coordinate
Y-Coordinate
Left
Top
Right
Bottom Position
Horizontal Adjustment Guide
Minimum Horizontal Adjustment
Maximum Horizontal Adjustment
Vertical Adjustment Guide
Minimum Vertical Adjustment
Maximum Vertical Adjustment
Radial Adjustment Guide
Minimum Radial Adjustment
Maximum Radial Adjustment
Angle Adjustment Guide
Minimum Angle Adjustment
Maximum Angle Adjustment
Connection Site Angle
Identifier
Index
Shape Arc Width Radius
Shape Arc Height Radius
Shape Arc Start Angle
Shape Arc Swing Angle
Path Width
Path Height
Path Fill
Path Stroke
3D Extrusion Allowed
Preset Shape
Follow Text
Color Specified
Bullet Size Follows Text
Bullet Size Percentage
Bullet Size Points
Follow text
Specified
Blip
No Bullet
Auto-Numbered Bullet
Character Bullet
Picture Bullet
Value
Bullet Autonumbering Type
Start Numbering At
Bullet Character
Legacy Drawing Object
Shape ID
Outline
No Fill
Solid Fill
Gradient Fill
Round Line Join
Line Join Bevel
Miter Line Join
Dash Stop
Preset Dash
Custom Dash
Line Head/End Style
Tail line end style
Line Head/End Type
Width of Head/End
Length of Head/End
Miter Join Limit
Value
Dash Length
Space Length
Line Ending Cap Type
Compound Line Type
Stroke Alignment
Underline Follows Text
Underline Stroke
Underline Fill Properties Follow Text
Underline Fill
Line
Highlight Color
Latin Font
East Asian Font
Complex Script Font
Symbol Font
Click Hyperlink
Mouse-Over Hyperlink
Text Typeface
Panose Setting
Similar Font Family
Similar Character Set
Kumimoji
Language ID
Alternative Language
Font Size
Bold
Italics
Underline
Strikethrough
Kerning
Capitalization
Spacing
Normalize Heights
Baseline
No Proofing
Dirty
Spelling Error
SmartTag Clean
SmartTag ID
Bookmark Link Target
Color Transform Category
Fill Color List
Line Color List
Effect Color List
Text Line Color List
Text Fill Color List
Text Effect Color List
Title
Description
Color Transform Category List
Style Label
Color Transform Definitions
Color Transform Header
Color Transform Header List
Language
Description Value
Category Type
Priority
Color Application Method Type
Hue Direction
Name
Unique ID
Minimum Version
Resource ID
Shape Text Body
Use Shape Text Rectangle
Non-Visual Shape Drawing Properties
Non-Visual Properties for a Shape
Visual Properties
Text Shape
Style
Non-Visual Connector Shape Drawing Properties
Non-Visual Properties for a Connection Shape
Non-Visual Picture Drawing Properties
Non-Visual Properties for a Picture
Picture Fill
Non-Visual Graphic Frame Drawing Properties
Non-Visual Properties for a Graphic Frame
Non-Visual Group Shape Drawing Properties
Non-Visual Properties for a Group Shape
Visual Group Shape Properties
Shape
Connection Shape
Picture
Graphic Frame
Group shape
Tab Stop
Text Run Properties
Spacing Percent
Spacing Points
Line Spacing
Space Before
Space After
Tab List
Default Text Run Properties
Text Paragraph Properties
Text Run
Text Line Break
Text Field
Value
Tab Position
Tab Alignment
Left Margin
Right Margin
Level
Indent
Default Tab Size
Right To Left
East Asian Line Break
Font Alignment
Latin Line Break
Hanging Punctuation
Field ID
Field Type
Property Set
Shape Properties
Text Body
Point
Connection
Point List
Connection List
Background Formatting
Whole E2O Formatting
Data Model
Model Identifier
Point Type
Connection Identifier
Source Identifier
Destination Identifier
Source Position
Destination Position
Parent Transition Identifier
Sibling Transition Identifier
Presentation Identifier
Locked Canvas Container
2D Transform for Individual Objects
Black and White Mode
Text Character Properties
Text String
Constraint
Rule
Shape Adjust
Shape Adjust List
Parameter
Algorithm
Shape
Presentation Of
Constraint List
Rule List
Variable List
For Each
Layout Node
Choose Element
If
Else
Data Model
Category
Title
Description
Category List
Sample Data
Style Data
Color Transform Sample Data
Layout Definition
Layout Definition Header
Diagram Layout Header List
Explicit Relationships to Diagram Parts
Axis
Data Point Type
Hide Last Transition
Start
Count
Step
Constraint Type
For
For Name
Reference Type
Reference For
Reference For Name
Reference Point Type
Operator
Value
Factor
Max Value
Adjust Handle Index
Rotation
Z-Order Offset
Hide Geometry
Prevent Text Editing
Image Placeholder
Revision Number
Name
Style Label
Child Order
Move With
Reference
Function
Argument
Use Default
Priority
Language
Unique Identifier
Minimum Version
Default Style
Resource Identifier
Non-Visual Drawing Properties
Non-Visual Picture Drawing Properties
Non-Visual Picture Properties
Picture Fill
Shape Properties
Picture
Font Reference
Style Matrix Index
Drawing Object Size
Inline Wrapping Extent
Drawing Object Non-Visual Properties
Common DrawingML Non-Visual Properties
Wrapping Polygon Start
Wrapping Polygon Line End Position
Tight Wrapping Extents Polygon
No Text Wrapping
Square Wrapping
Tight Wrapping
Through Wrapping
Top and Bottom Wrapping
Relative Horizontal Alignment
Absolute Position Offset
Simple Positioning Coordinates
Horizontal Positioning
Vertical Positioning
Inline DrawingML Object
Anchor for Floating DrawingML Object
Additional Extent on Left Edge
Additional Extent on Top Edge
Additional Extent on Right Edge
Additional Extent on Bottom Edge
Distance From Text on Top Edge
Distance From Text on Bottom Edge
Distance From Text on Left Edge
Distance From Text on Right Edge
Wrapping Points Modified
Text Wrapping Location
Horizontal Position Relative Base
Relative Z-Ordering Position
Display Behind Document Text
Lock Anchor
Layout In Table Cell
Hidden
Allow Objects to Overlap
Presentation Layout Variables
Shape Style
Presentation Element Identifier
Presentation Name
Presentation Style Label
Presentation Style Index
Presentation Style Count
Current Diagram Type
Current Diagram Category
Current Style Type
Current Style Category
Color Transform Type Identifier
Color Transform Category
Coherent 3D Behavior
Placeholder Text
Placeholder
Custom Rotation
Custom Vertical Flip
Custom Horizontal Flip
Fixed Width Override
Fixed Height Override
Width Scale
Height Scale
Text Changed
Custom Factor Width
Custom Factor Height
Neighbor Offset Width
Neighbor Offset Height
Radius Scale
Include Angle Scale
Rotation
Preset Camera Type
Field of View
Zoom
Non-Visual Drawing Properties
Connection Non-Visual Shape Properties
Non-Visual Properties for a Shape
Shape Properties
Shape Text Body
Non-Visual Connector Shape Drawing Properties
Non-Visual Properties for a Connection Shape
Non-Visual Picture Drawing Properties
Non-Visual Properties for a Picture
Picture Fill
Non-Visual Graphic Frame Drawing Properties
Non-Visual Properties for a Graphic Frame
2D Transform for Graphic Frames
Non-Visual Group Shape Drawing Properties
Non-Visual Properties for a Group Shape
Group Shape Properties
Shape
Group Shape
Connection Shape
Picture
Column)
Column Offset
Row
Row Offset
Starting Anchor Point
Ending Anchor Point
Client Data
Position
Two Cell Anchor Shape Size
One Cell Anchor Shape Size
Absolute Anchor Shape Size
Worksheet Drawing
Locks With Sheet Flag
Prints With Sheet Flag
Reference to Custom Function
Text Link
Lock Text Flag
Publish to Server Flag
Positioning and Resizing Behaviors
Show Organization Chart User Interface
Maximum Children
Preferred Number of Children
Show Insert Bullet
Diagram Direction
Organization Chart Branch Style
One by One Animation String
Level Animation
Shape Resize Style
Show Organization Chart User Interface Value
Rotation
Rig Preset
Direction
Visual Properties
Shape Default
Line Default
Text Default
Add a part reference without actually managing the part.
Abstract class for a directory entry in a structured storage.
Athor: math
Abstract class fo the header of a compound file.
Author: math
Abstract class for input and putput handlers.
Author: math
Initializes the internal bit converter
flag whether big endian or little endian is used
Initializes the reference to the header
Closes the file associated with this handler
Exceptions used
Author: math
Constants used to identify sectors in fat, minifat and directory
Size constants
Type of a directory entry
Color of a directory entry in the red-black-tree
Wrapper of the class BitConverter in order to support big endian
Author: math
Provides methods for masking/unmasking strings in a path
Author: math
Masks the given string
Unmasks the given string
Abstract class of a Fat in a compound file
Author: math
Constructor
Handle to the header of the compound file
Handle to the file handler of the compound file
Returns the sectors in a chain which starts at a given sector
The start sector of the chain
The maximum count of sectors in a chain
The name of a chain
Returns the sectors in a chain which starts at a given sector
The start sector of the chain
The maximum count of sectors in a chain
The name of a chain
Flag whether to check for cycles in every loop
Reads bytes into an array
The array to read to
The offset in the array to read to
The number of bytes to read
The number of bytes read
Reads a byte at the current position of the file stream.
Advances the stream pointer accordingly.
Returns the next sector in a chain
The current sector in the chain
The next sector in the chain
Seeks to a given position in a sector
The sector to seek to
The position in the sector to seek to
Encapsulates a directory entry
Author: math
Constructor
Handle to the header of the compound file
Handle to the file handler of the compound file
The sid of the directory entry
Reads the values of the directory entry. The position of the file handler must be at the start of a directory entry.
Represents the directory structure of a compound file
Author: math
Constructor
Handle to the Fat of the compound file
Handle to the header of the compound file
Handle to the file handler of the compound file
Inits the directory
The sector containing the root of the directory
Determines the directory _entries in a compound file recursively
start sid
Returns a directory entry for a given sid
Seeks to the start sector of the directory entry of the given sid
Returns the directory entry with the given name/path
Returns the directory entry with the given sid
Returns the start sector of the mini stream
Returns the size of the mini stream
Returns all entry names contained in a compound file
Returns all entry paths contained in a compound file
Returns all stream entry names contained in a compound file
Returns all stream entry paths contained in a compound file
Returns all _entries contained in a compound file
Returns all stream _entries contained in a compound file
Represents the Fat in a compound file
Author: math
Constructor
Handle to the header of the compound file
Handle to the file handler of the compound file
Seeks to a given position in a sector
The sector to seek to
The position in the sector to seek to
The new position in the stream.
Returns the next sector in a chain
The current sector in the chain
The next sector in the chain
Initalizes the Fat
Reads the first 109 sectors of the Fat stored in the header
Reads the sectors of the Fat which are stored in the DiFat
Checks whether the sizes specified in the header matches the actual sizes
Encapsulates the header of a compound file
Author: math
Constructor
The Handle to the file handler of the compound file
Reads the header from the file stream
Provides methods for accessing the file stream
Author: math
Constructor, opens the given file
The size of the associated stream in bytes
Seeks relative to the current position by the given offset
Seeks to a given sector in the compound file.
May only be used after SetHeaderReference() is called.
Seeks to a given sector and position in the compound file.
May only be used after SetHeaderReference() is called.
The new position in the stream.
Reads a byte at the current position of the file stream.
Advances the stream pointer accordingly.
The byte value read from the stream.
Reads bytes at the current position of the file stream into a byte array.
The array size determines the number of bytes to read.
Advances the stream pointer accordingly.
Reads bytes at the current position of the file stream into a byte array.
Advances the stream pointer accordingly.
The array to read to
The offset in the array to read to
The number of bytes to read
Reads a byte at the current position of the file stream.
Advances the stream pointer accordingly.
The byte cast to an int, or -1 if reading from the end of the stream.
Reads bytes at the current position of the file stream into a byte array.
Advances the stream pointer accordingly.
The array to read to
The offset in the array to read to
The number of bytes to read
The total number of bytes read into the buffer.
This might be less than the number of bytes requested if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Reads bytes at the given position of the file stream into a byte array.
The array size determines the number of bytes to read.
Advances the stream pointer accordingly.
Reads a UInt16 at the current position of the file stream.
May only be used after InitBitConverter() is called.
Advances the stream pointer accordingly.
The UInt16 value read from the stream.
Reads a UInt32 at the current position of the file stream.
May only be used after InitBitConverter() is called.
Advances the stream pointer accordingly.
The UInt32 value read from the stream.
Reads a UInt64 at the current position of the file stream.
May only be used after InitBitConverter() is called.
Advances the stream pointer accordingly.
The UInt64 value read from the stream.
Reads a UInt16 at the given position of the file stream.
May only be used after InitBitConverter() is called.
Advances the stream pointer accordingly.
The UInt16 value read at the given position.
Reads a UInt32 at the given position of the file stream.
May only be used after InitBitConverter() is called.
Advances the stream pointer accordingly.
The UInt32 value read at the given position.
Reads a UInt64 at the given position of the file stream.
May only be used after InitBitConverter() is called.
Advances the stream pointer accordingly.
The UInt64 value read at the given position.
Reads a UTF-16 encoded unicode string at the current position of the file stream.
May only be used after InitBitConverter() is called.
Advances the stream pointer accordingly.
The maximum size of the string in bytes (1 char = 2 bytes) including the Unicode NULL.
The string read from the stream.
Exposes access to the underlying stream of type IStreamReader.
The underlying stream associated with the IStreamReader
Closes the current reader and the underlying stream.
Returns the next available character and does not advance the byte or character position.
The next available character, or -1 if no more characters are available or
the stream does not support seeking.
An I/O error occurs.
Reads characters from the underlying stream and advances the current position
of the stream in accordance with the Encoding used and the specific character
being read from the stream.
The next character from the input stream, or -1 if no characters are currently available.
An I/O error occurs.
The stream is closed.
Reads count bytes from the stream with index as the starting point in the byte array.
The buffer to read data into.
The starting point in the buffer at which to begin reading into the buffer.
The number of characters to read.
The number of characters read into buffer. This might be less than the number
of bytes requested if that many bytes are not available, or it might be zero
if the end of the stream is reached.
The buffer length minus index is less than count.
buffer is null.
index or count is negative.
The stream is closed.
An I/O error occurs.
Reads count characters from the stream with index as the starting point in the character array.
The buffer to read data into.
The starting point in the buffer at which to begin reading into the buffer.
The number of characters to read.
The total number of characters read into the buffer. This might be less than
the number of characters requested if that many characters are not currently
available, or it might be zero if the end of the stream is reached.
The buffer length minus index is less than count.
buffer is null.
index or count is negative.
The stream is closed.
An I/O error occurs.
Reads a Boolean value from the current stream and advances the current position
of the stream by one byte.
true if the byte is nonzero; otherwise, false.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads the next byte from the current stream and advances the current position
of the stream by one byte.
The next byte read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads count bytes from the current stream into a byte array and advances
the current position by count bytes.
The number of bytes to read.
A byte array containing data read from the underlying stream. This might
be less than the number of bytes requested if the end of the stream is reached.
An I/O error occurs.
The stream is closed.
count is negative.
Reads count bytes from the current stream into a byte array and advances
the current position by count bytes.
The absolute byte offset where to read.
The number of bytes to read.
A byte array containing data read from the underlying stream. This might
be less than the number of bytes requested if the end of the stream is reached.
An I/O error occurs.
The stream is closed.
count is negative.
Reads the next character from the current stream and advances the current
position of the stream in accordance with the Encoding used and the specific
character being read from the stream.
A character read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
A surrogate character was read.
Reads count characters from the current stream, returns the data in a character
array, and advances the current position in accordance with the Encoding
used and the specific character being read from the stream.
The number of characters to read.
A character array containing data read from the underlying stream. This might
be less than the number of characters requested if the end of the stream
is reached.
The stream is closed.
An I/O error occurs.
count is negative.
Reads a decimal value from the current stream and advances the current position
of the stream by sixteen bytes.
A decimal value read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads an 8-byte floating point value from the current stream and advances
the current position of the stream by eight bytes.
An 8-byte floating point value read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads a 2-byte signed integer from the current stream and advances the current
position of the stream by two bytes.
A 2-byte signed integer read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads a 4-byte signed integer from the current stream and advances the current
position of the stream by four bytes.
A 4-byte signed integer read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads an 8-byte signed integer from the current stream and advances the current
position of the stream by eight bytes.
An 8-byte signed integer read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads a signed byte from this stream and advances the current position of
the stream by one byte.
A signed byte read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads a 4-byte floating point value from the current stream and advances
the current position of the stream by four bytes.
A 4-byte floating point value read from the current stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads a string from the current stream. The string is prefixed with the length,
encoded as an integer seven bits at a time.
The string being read.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads a 2-byte unsigned integer from the current stream using little-endian
encoding and advances the position of the stream by two bytes.
A 2-byte unsigned integer read from this stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads a 4-byte unsigned integer from the current stream and advances the
position of the stream by four bytes.
A 4-byte unsigned integer read from this stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Reads an 8-byte unsigned integer from the current stream and advances the
position of the stream by eight bytes.
An 8-byte unsigned integer read from this stream.
The end of the stream is reached.
The stream is closed.
An I/O error occurs.
Collection of all _entries contained in a compound file
Collection of all stream _entries contained in a compound file
Collection of all entry names contained in a compound file
Collection of all stream entry names contained in a compound file
Closes the file handle
Returns a handle to a stream with the given name/path.
If a path is used, it must be preceeded by '\'.
The characters '\' ( if not separators in the path) and '%' must be masked by '%XXXX'
where 'XXXX' is the unicode in hex of '\' and '%', respectively
The path of the virtual stream.
An object which enables access to the virtual stream.
Represents the MiniFat in a compound file
Author: math
Constructor
Handle to the Fat of the compound file
Handle to the header of the compound file
Handle to the file handler of the compound file
Address of the sector where the mini stream starts
Seeks to a given position in a sector of the mini stream
The sector to seek to
The position in the sector to seek to
The new position in the stream.
Returns the next sector in a chain
The current sector in the chain
The next sector in the chain
Initalizes the Fat
Reads the sectors used by the MiniFat
Reads the sectors used by the MiniFat
Checks whether the size specified in the header matches the actual size
Provides methods for accessing a compound file.
Author: math
Collection of all entry names contained in a compound file
Collection of all stream entry names contained in a compound file
Collection of all _entries contained in a compound file
Collection of all stream _entries contained in a compound file
Returns a handle to the RootDirectoryEntry.
Initalizes a handle to a compound file based on a stream
The stream to the storage
Initalizes a handle to a compound file with the given name
The name of the file including its path
Returns a handle to a stream with the given name/path.
If a path is used, it must be preceeded by '\'.
The characters '\' ( if not separators in the path) and '%' must be masked by '%XXXX'
where 'XXXX' is the unicode in hex of '\' and '%', respectively
The path of the virtual stream.
An object which enables access to the virtual stream.
Returns a handle to a directory entry with the given name/path.
If a path is used, it must be preceeded by '\'.
The characters '\' ( if not separators in the path) and '%' must be masked by '%XXXX'
where 'XXXX' is the unicode in hex of '\' and '%', respectively
The path of the directory entry.
An object which enables access to the directory entry.
Closes the file handle
Encapsulates a virtual stream in a compound file
Author: math
Initializes a virtual stream
Handle to the fat of the respective file
Start sector of the stream (sector 0 is sector immediately following the header)
Size of the stream in bytes
Name of the stream
The current position within the stream.
The supported range is from 0 to 2^31 - 1 = 2147483647 = 2GB
A long value representing the length of the stream in bytes.
Reads bytes from the current position in the virtual stream.
The number of bytes to read is determined by the length of the array.
Array which will contain the read bytes after successful execution.
The total number of bytes read into the buffer.
This might be less than the length of the array if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Reads bytes from the current position in the virtual stream.
Array which will contain the read bytes after successful execution.
Number of bytes to read.
The total number of bytes read into the buffer.
This might be less than the number of bytes requested if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Reads bytes from a virtual stream.
Array which will contain the read bytes after successful execution.
Offset in the array.
Number of bytes to read.
The total number of bytes read into the buffer.
This might be less than the number of bytes requested if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Reads bytes from the virtual stream.
Array which will contain the read bytes after successful execution.
Offset in the array.
Number of bytes to read.
Start position in the stream.
The total number of bytes read into the buffer.
This might be less than the number of bytes requested if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Skips bytes in the virtual stream.
Number of bytes to skip.
The total number of bytes skipped.
This might be less than the number of bytes requested if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Initalizes the stream.
Checks whether the size specified in the header matches the actual size
Ctor
Second constructor to create a StreamReader with a MemoryStream.
Reads bytes from the current position in the virtual stream.
The number of bytes to read is determined by the length of the array.
Array which will contain the read bytes after successful execution.
The total number of bytes read into the buffer.
This might be less than the length of the array if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Reads bytes from the current position in the virtual stream.
Array which will contain the read bytes after successful execution.
Number of bytes to read.
The total number of bytes read into the buffer.
This might be less than the number of bytes requested if that number
of bytes are not currently available, or zero if the end of the stream is reached.
Reads count bytes from the current stream into a byte array and advances
the current position by count bytes.
The absolute byte offset where to read.
The number of bytes to read.
A byte array containing data read from the underlying stream. This might
be less than the number of bytes requested if the end of the stream is reached.
An I/O error occurs.
The stream is closed.
count is negative.
Abstract class of a Fat in a compound file
Author: math
Constructor
the current context
Write a chain to the fat.
number of entries in the chain
Common base class for stream and storage directory entries
Author: math
Name of the directory entry.
the current context
Set the initial values
Writes the directory entry to the directory stream of the current context
Empty directory entry used to pad out directory stream.
Author: math
Constructor
the current context
Class which represents the fat of a structured storage.
Author: math
Constructor
the current context
Writes the difat entries to the fat
Number of difat sectors.
Start sector of the difat.
Writes the difat sectors to the output stream of the current context
Marks the difat and fat sectors in the fat and writes the difat and fat data to the output stream of the current context.
Class which represents the header of a structured storage.
Author: math
Constructor.
the current context
Initializes header defaults.
Writes the next difat sector (which is one of the first 109) to the header.
Writes the header to the internal stream.
Writes the internal header stream to the given stream.
The stream to which is written to.
Represents the minifat of a structured storage.
Author: math
Constructor.
the current context
Writes minifat chain to fat and writes the minifat data to the output stream of the current context.
Class which encapsulates methods which ease writing structured storage components to a stream.
Author: math
Returns UInt64.MaxValue because size of stream is not defined yet.
Constructor.
The target memory stream.
Writes a byte to the stream.
The byte to write.
Writes a UInt16 to the stream.
The UInt16 to write.
Writes a UInt32 to the stream.
The UInt32 to write.
Writes a UInt64 to the stream.
The UInt64 to write.
Writes a byte array to the stream.
The byte array to write.
Writes sectors to the stream and padding the sector with the given byte.
The data to write.
The size of a sector.
The byte which is used for padding
Writes sectors to the stream and padding the sector with the given UInt32.
The data to write.
The size of a sector.
The UInt32 which is used for padding
Writes the internal memory stream to a given stream.
The output stream.
Class which represents the root directory entry of a structured storage.
Author: math
Constructor.
the current context
Writes the mini stream chain to the fat and the mini stream data to the output stream of the current context.
Represents a storage directory entry in a structured storage.
Author: math
Constructor.
The name of the directory entry.
The current context.
Adds a stream directory entry to this storage directory entry.
The name of the stream directory entry to add.
The stream referenced by the stream directory entry
Adds a storage directory entry to this storage directory entry.
The name of the storage directory entry to add.
The storage directory entry whic hahs been added.
Sets the clsID.
The clsId to set.
Recursively gets all storage directory entries starting at this directory entry.
A list of directory entries.
The recursive implementation of the method RecursiveGetAllDirectoryEntries().
Creates the red-black-tree recursively
Creates the red-black-tree for this directory entry
Helper function for the method CreateRedBlackTree()
The list of directory entries
The height of the balanced red-black-tree
The current tree level
The root of this red-black-tree
Calculation of the middle index of a list of directory entries.
The input list.
The result
Method for comparing directory entries (used in the red-black-tree).
The 1st directory entry.
The 2nd directory entry.
Comparison result.
Represents a stream directory entry in a structured storage.
Author: math
Constructor.
Name of the stream directory entry.
The stream referenced by the stream directory entry.
The current context.
Writes the referenced stream chain to the fat and the referenced stream data to the output stream of the current context.
Class which pools the different elements of a structured storage in a context.
Author math.
Constructor.
Returns a new sid for directory entries in this context.
The new sid.
The root class for creating a structured storage
Author: math
Constructor.
Writes the structured storage to a given stream.
The output stream.
Class which represents a virtual stream in a structured storage.
Author: math
Constructor.
The input stream.
The fat which is used by this stream.
The sector size.
Writes the virtual stream chain to the fat and the virtual stream data to the output stream of the current context.
Creates a new EmuValue for the given value.
Converts the EMU to pt
Converts the EMU to twips
returns the original value as string
Specifies an approximation of a real number, where the approximation has a fixed number of digits after the radix point.
This type is specified in [MS-OSHARED] section 2.2.1.6.
Value of the real number = Integral + ( Fractional / 65536.0 )
Integral (2 bytes): A signed integer that specifies the integral part of the real number.
Fractional (2 bytes): An unsigned integer that specifies the fractional part of the real number.
Creates a new PtValue for the given value.
Converts the EMU to pt
Converts the pt value to EMU
Converts the pt value to cm
returns the original value as string
Write a line on error level (is written if level != none)
The dots per inch value that should be used.
Creates a new TwipsValue for the given value.
Converts the twips to pt
Converts the twips to inch
Converts the twips to mm
Converts the twips to cm
Read a length prefixed Unicode string from the given stream.
The string must have the following structure:
byte 1 - 4: Character count (cch)
byte 5 - (cch*2)+4: Unicode characters terminated by \0
Read a length prefixed ANSI string from the given stream.
The string must have the following structure:
byte 1-4: Character count (cch)
byte 5-cch+4: ANSI characters terminated by \0
The initials of the user who left the annotation.
An index into the string table of comment author names.
Parses the bytes to retrieve a AuthorTable
Characters displayed before/after auto number
Creates a new AutoNumberedListDataDescriptor with defaut values
Parses the bytes to retrieve a AutoNumberedListDataDescriptor
The bytes
Creates a new AutoNumberedListDataDescriptor with default values
Parses the bytes to retrieve a AutoNumberLevelDescriptor
The bytes
Parses the bytes to retrieve a AutoSummaryInfo
The bytes
An unsigned integer that specifies a zero-based index into the PlcfBkl or PlcfBkld
that is paired with the PlcfBkf or PlcfBkfd containing this FBKF.
The entry found at said index specifies the location of the end of the bookmark associated with this FBKF.
Ibkl MUST be unique for all FBKFs inside a given PlcfBkf or PlcfBkfd.
24-bit border color
Width of a single line in 1/8pt, max of 32pt
Border type code:
0 none
1 single
2 thick
3 double
5 hairline
6 dot
7 dash large gap
8 dot dash
9 dot dot dash
10 triple
11 thin-thick small gap
12 tick-thin small gap
13 thin-thick-thin small gap
14 thin-thick medium gap
15 thick-thin medium gap
16 thin-thick-thin medium gap
17 thin-thick large gap
18 thick-thin large gap
19 thin-thick-thin large gap
20 wave
21 double wave
22 dash small gap
23 dash dot stroked
24 emboss 3D
25 engrave 3D
Width of space to maintain between border and text within border
When true, border is drawn with shadow. Must be false when BRC is substructure of the TC
It's a nil BRC, bytes are FFFF.
Creates a new BorderCode with default values
Parses the byte for a BRC
Creates a CHP with default properties
Builds a CHP based on a CHPX
The stylesheet
The CHPX
Creates a CHPX wich doesn't modify anything.
The grpprl list is empty
Parses the bytes to retrieve a CHPX
The bytes starting with the istd
Signed integer that specifies the size, in bytes, of this structure excluding the name, cCtls, and rTBC fields.
Value is given by the following formula: cbTBData = sizeof(tb) + sizeof(rVisualData) + 12
Signed integer that specifies the number of toolbar controls in this toolbar.
Zero-based index array of TBC structures.
The number of elements in this array MUST equal cCtls.
Signed integer that specifies the number of elements in the rCustomizations array.
MUST be greater than 0x0000.
Signed integer that specifies the size, in bytes, of the rtbdc array.
MUST be greater or equal to 0x00000000.
minutes (0-59)
hours (0-23)
day of month (1-31)
month (1-12)
year (1900-2411)-1900
Creates a new DateAndTime with default values
Parses the byte sto retrieve a DateAndTime
The bytes
True when facing pages should be printed
Footnote position code:
0 print as endnotes
1 print as bottom of page
2 print immediately beneath text
Restart index for footnotes:
0 don't restart note numbering
1 restart for each section
2 restart for each page
Initial footnote number for document
When true, swap margins on left/right pages
Compatibility option: when true, don't add automatic tab
stops for hanging indent
Compatibility option: when true, don't add extra space
for raised or lowered characters
Compatibility option: when true, suppress the paragraph
Space Before and Space After options after a page break
Compatibility option: when true, wrap trailing spaces
at the end of a line to the next line
Compatibility option: when true, print colors as black
on non-color printer
Compatibility option: when true, don't balance columns
for Continuous Section starts
Compatibility option: when true, suppress extra line
spacing at top of page
Compatibility option: when true, show hard page or
column breaks in frames
Compatibility option: when true, swap left and right
pages on odd facing pages
Default tab width
Zoom percentage
Zoom type:
0 None
1 Full page
2 Page width
Expand/Codense by whole number of points
Print body text before header/footer
Don't add leading (extra space) between rows of text
USer larger small caps like Word 5.x for the Macintosh
Count of characters tallied by the last Word Count execution
Count of lines tallied by last Word Count operation
Count of characters with spaces
Count of pages tallied by the last Word Count execution
Count of paragraphs tallied by the last Word Count execution
Count of words tallied by last Word Count execution
No grammar errors exist in document
Compatibility option: when set to true, do not convert
backslash characters into yen signs
Compatibility option: when set to true, expand character
spaces on the line ending SHIFT+RETURN
Compatibility option: when set to true, don‘t underline trailing spaces
Compatibility option: when set to true, don't balance SBCS and DBCS characters
Compatibility option: when set to true, add space for underlines.
Compatibility option: when set to true, substitute fonts based on size.
Compatibility option: when set to true, lines wrap like Word 6.0
Compatibility option: when set to true, set the width of a space like WordPerfect 5
Compatibility option: when set to true, do full justification like WordPerfect 6.x
Compatibility option: when set to true, use printer metrics to lay out the document
Compatibility option: when set to true, lay AutoShapes like Word 97
Compatibility option: when set to true, lay footnotes like Word 6.x/95/97.
Compatibility option: when set to true, don't use HTML paragraph auto spacing
Compatibility option: when set to true, don't adjust line height in tables
Compatibility option: when set to 1, forget last tab alignment
Compatibility option: when set to 1, use auto space like Word 95
Compatibility option: when set to 1, align table rows independently
Compatibility option: when set to 1, lay out tables with raw width
Compatibility option: when set to 1, allow table rows to lay out apart
Compatibility option: when set to 1, use Word 97 line breaking rules for East Asian text
Compatibility option: Do not break wrapped tables across pages.
Compatibility option: Do not snap text to grid while in a table with inline objects.
Compatibility option: Select the entire field with the first or last character
Compatibility option: Apply breaking rules
Compatibility option: Do not allow hanging punctuation with character grid
Compatibility option: Do not use Asian break rules for line breaks with character grid.
Compatibility option: Use the Word 2002 table style rules.
Word 2002 places the top border of a column under the heading row,
rather than above it as Word 2003 does.
Word 2003 applies the top border of a column in a more intuitive place when
there is a header row in the table. This new behavior also fixes an issue with
shading not displaying correctly for cells using conditional formatting.
Compatibility option:
Allow tables set to ―autofit to contents‖ to extend into the margins when in Print Layout.
Word 2003 does not allow this by default.
Do not embed system fonts in this document
Internal: filter state for the Styles and Formatting Pane.
Parses the bytes to retrieve a DocumentProperties
True if we're kerning punctation
Parses the bytes to retrieve a DocumentTypographyInfo
The bytes
The number of grid squares (in the y direction) between each
gridline drawn on the screen. 0 means don‘t display any
gridlines in the y direction.
The number of grid squares (in the x direction) between each
gridline drawn on the screen. 0 means don‘t display any
gridlines in the y direction.
If true, the grid will start at the left and top margins and
ignore xaGrid and yaGrid
Parses the bytes to retrieve a DrawingObjectGrid
Creates a new DropCapSpecifier with default values
Parses the bytes to retrieve a DropCapSpecifier
Shape Identifier. Used in conjunction with the office art data
(found via fcDggInfo in the FIB) to find the actual data for this shape.
Left of rectangle enclosing shape relative to the origin of the shape
Top of rectangle enclosing shape relative to the origin of the shape
Right of rectangle enclosing shape relative to the origin of the shape
Bottom of the rectangle enclosing shape relative to the origin of the shape
Text wrapping mode
0 like 2, but doesn‘t require absolute object
1 no text next to shape
2 wrap around absolute object
3 wrap as if no object present
4 wrap tightly around object
5 wrap tightly, but allow holes
6-15 reserved for future use
When true, font is a TrueType font
Font family id
Character set identifier
Pitch request
Name of font
Alternative name of the font
Panose
Font sinature
Count of runs for that FKP
Each value is the limit of a paragraph or run of exception text
An array of bytes where each byte is the word offset of a CHPX.
Consists all of the CHPXs stored in this FKP.
Parses the 0Table (or 1Table) for FKP _entries containing CHPX
The FileInformationBlock
The WordDocument stream
The 0Table stream
An array of the BX data structure.
BX is a 13 byte data structure. The first byte of each is the word offset of the PAPX.
grppapx consists of all of the PAPXs stored in FKP concatenated end to end.
Each PAPX begins with a count of words which records its length padded to a word boundary.
Parses the 0Table (or 1Table) for FKP _entries containing PAPX
The FileInformationBlock
The WordDocument stream
The 0Table stream
Returns a list of all PAPX FCs between they given boundaries.
The lower boundary
The upper boundary
The FileInformationBlock
The VirtualStream "WordStream"
The VirtualStream "0Table" or "1Table"
The FCs
Returnes a list of all ParagraphPropertyExceptions which correspond to text
between the given offsets.
The lower boundary
The upper boundary
The FileInformationBlock
The VirtualStream "WordStream"
The VirtualStream "0Table" or "1Table"
The FCs
An unsigned integer that MUST be 0xFFFFFFFF.
Specifies the type of the form field.
An unsigned integer.
If iType is iTypeText (0), then iRes MUST be 0.
If iType is iTypeChck (1), then iRes specifies the state of the checkbox and
MUST be 0 (unchecked), 1 (checked), or 25 (undefined).
Undefined checkboxes are treated as unchecked.
If iType is iTypeDrop (2), then iRes specifies the current selected list box item.
A value of 25 specifies the selection is undefined.
Otherwise, iRes is a zero-based index into FFData.hsttbDropList.
Specifies the type of the textbox
A bool that specifies whether the field‘s value is automatically calculated after the field is modified.
An unsigned integer that specifies the maximum length, in characters,
of the value of the textbox.
MUST NOT exceed 32767.
A value of 0 means there is no maximum length of the value of the textbox.
MUST be 0 if iType is not iTypeText (0).
An unsigned integer.
If iType is iTypeChck (1), then hps specifies the size, in half-points,
of the checkbox and MUST be between 2 and 3168, inclusive.
If bitiType is not iTypeChck (1), then hps is undefined and MUST be ignored.
An string that specifies the name of this form field.
The length MUST NOT exceed 20.
An optional Xstz that specifies the default text of this textbox.
This structure MUST exist if and only if iType is iTypeTxt (0).
The length MUST NOT exceed 255.
If iTypeTxt is either iTypeTxtCurDate (3) or iTypeTxtCurTime (4),
then xstzTextDef MUST be an empty string.
If iTypeTxt is iTypeTxtCalc (5), then xstzTextDef specifies an expression to calculate.
An optional unsigned integer that specifies the default state of the checkbox or dropdown list box.
MUST exist if and only if iType is iTypeChck (1) or iTypeDrop (2).
If iType is iTypeChck (1), then wDef MUST be 0 or 1 and specify
the default state of the checkbox as unchecked or checked, respectively.
If iType is iTypeDrop (2), then wDef MUST be less than the number of
items in the dropdown list box and specify the default item selected (zero-based index).
An string that specifies the string format of the textbox.
MUST be an empty string if iType is not iTypeTxt (0).
The length MUST NOT exceed 64.
Valid formatting strings are specified in [ECMA-376] part 4, section 2.16.22 format (Text Box Form Field Formatting).
An string that specifies the help text for the form field.
The length MUST NOT exceed 255.
An string that specifies the status bar text for the form field.
The length MUST NOT exceed 138.
An string that specifies a macro to run upon entry of the form field.
The length MUST NOT exceed 32.
An string that specifies a macro to run after the value of the form field has changed.
The length MUST NOT exceed 32.
Creates a new FFData by reading the data from the given stream.
The position must already be set.
Specifies that the form field is a textbox.
Specifies that the form field is a checkbox.
Specifies that the form field is a dropdown list box.
Specifies that the textbox value is regular text.
Specifies that the textbox value is a number.
Specifies that the textbox value is a date or time.
Specifies that the textbox value is the current date.
Specifies that the textbox value is the current time.
Specifies that the textbox value is calculated from an expression.
The expression is given by xstzTextDef.
Creates a new LineSpacingDescriptor with empty values
Parses the bytes to retrieve a LineSpacingDescriptor
Unique List ID
Unique template code
Array of shorts containing the istd‘s linked to each level of the list,
or ISTD_NIL (4095) if no style is linked.
True if this is a simple (one-level) list.
False if this is a multilevel (nine-level) list.
When true, list is a hybrid multilevel/simple (UI=simple, internal=multilevel)
Array of ListLevel describing the several levels of the list.
Parses the StreamReader to retrieve a ListData
List ID of corresponding ListData
Count of levels whose format is overridden
Array of all levels whose format is overridden
Parses the given Stream Reader to retrieve a ListFormatOverride
Parses the bytes to retrieve a ListFormatOverrideLevel
Start at value for this list level
Number format code (see anld.nfc for a list of options)
Alignment (left, right, or centered) of the paragraph number.
Contains the character offsets into the LVL’s XST of the inherited numbers of previous levels.
The XST contains place holders for any paragraph numbers contained in the text of the number,
and the place holder contains the ilvl of the inherited number,
so lvl.xst[lvl.rgbxchNums[0]] == the level of the first inherited number in this level.
The type of character following the number text for the paragraph.
Length, in bytes, of the LVL‘s grpprlChpx.
Length, in bytes, of the LVL‘s grpprlPapx.
Parses the given StreamReader to retrieve a LVL struct
Unsigned integer that specifies the name of the macro.
Macro name is specified by MacroName.xstz of the MacroName entry in
the MacroNames such that MacroName.ibst equals ibst.
MacroNames MUST contain such an entry.
An unsigned integer that specifies the index into the
CommandStringTable (CommandTable.CommandStringTable)
where the macro‘s name and arguments are specified.
A signed integer that specifies the size, in bytes, of this structure.
An unsigned integer that specifies the number of bytes from the beginning of this structure to the beginning of binData.
MUST be 0x44.
The interpretation of binData depends on the field type of the field containing the
picture character and is given by the following table:
REF: HyperlinkFieldData
PAGEREF: HyperlinkFieldData
NOTEREF: HyperlinkFieldData
FORMTEXT: FormFieldData
FORMCHECKBOX: FormFieldData
FORMDROPDOWN: FormFieldData
PRIVATE: Custom binary data that is specified by the add-in that inserted this field.
ADDIN: Custom binary data that is specified by the add-in that inserted this field.
HYPERLINK: HyperlinkFieldData
Index into xst of the locations of paragraph number
place holders for each level
Number format code for the paragraph number
place holders for each level
Numeric value for each place holder in xst
The text string for the paragraph number,
containing level place holders
Creates a new NumberRevisionMarkData with default values
Parses the bytes to retrieve a NumberRevisionMarkData
The bytes
Searches the matching shape
The shape ID
The ShapeContainer
An array of ANLV structures describing how heading numbers
should be displayed fpr each of Word's 0 outline heading levels
Text before/after number
Creates a new OutlineLiSTData with default values
Parses the bytes to retrieve a OutlineLiSTData
The bytes
Parses the bytes to retrieve a ParagraphHeight
The bytes
Index to style descriptor of the style from which the
paragraph inherits its paragraph and character properties
Creates a PAPX wich doesn't modify anything.
The grpprl list is empty
Parses the bytes to retrieve a PAPX
The bytes starting with the istd
Specifies the mapping mode in which the picture is drawn.
Specifies the size of the metafile picture for all modes except the MM_ISOTROPIC and MM_ANISOTROPIC modes.
(For more information about these modes, see the yExt member.)
The x-extent specifies the width of the rectangle within which the picture is drawn.
The coordinates are in units that correspond to the mapping mode.
Specifies the size of the metafile picture for all modes except the MM_ISOTROPIC and MM_ANISOTROPIC modes.
The y-extent specifies the height of the rectangle within which the picture is drawn.
The coordinates are in units that correspond to the mapping mode.
For MM_ISOTROPIC and MM_ANISOTROPIC modes, which can be scaled, the xExt and yExt members
contain an optional suggested size in MM_HIMETRIC units.
For MM_ANISOTROPIC pictures, xExt and yExt can be zero when no suggested size is supplied.
For MM_ISOTROPIC pictures, an aspect ratio must be supplied even when no suggested size is given.
(If a suggested size is given, the aspect ratio is implied by the size.)
To give an aspect ratio without implying a suggested size, set xExt and yExt to negative values
whose ratio is the appropriate aspect ratio.
The magnitude of the negative xExt and yExt values is ignored; only the ratio is used.
Handle to a memory metafile.
Horizontal measurement in twips of the rectangle the picture should be imaged within.
Vertical measurement in twips of the rectangle the picture should be imaged within.
Horizontal scaling factor supplied by user expressed in .001% units
Vertical scaling factor supplied by user expressed in .001% units
The data of the windows metafile picture (WMF)
Border above picture
Border to the left of the picture
Border below picture
Border to the right of the picture
Horizontal offset of hand annotation origin
vertical offset of hand annotation origin
Parses the CHPX for a fcPic an loads the PictureDescriptor at this offset
The CHPX that holds a SPRM for fcPic
Returns the fcPic into the "data" stream, where the PIC begins.
Returns -1 if the CHPX has no fcPic.
The CHPX
File offset of beginning of piece.
This is relative to the beginning of the WordDocument stream.
The encoding of the piece
Parses the bytes to retrieve a PieceDescriptor
The bytes
A list of PieceDescriptor standing for each piece of text.
A dictionary with character positions as keys and the matching FCs as values
A dictionary with file character positions as keys and the matching CPs as values
Parses the pice table and creates a list of PieceDescriptors.
The FIB
The 0Table or 1Table stream
Retruns the struct that matches the given character position.
The character position
The matching struct
A list of the sprms that encode the differences between
CHP for a character and the PAP for the paragraph style used.
A signed integer that specifies the position in the WordDocument Stream where a Sepx structure is located.
Parses the bytes to retrieve a SectionPropertyExceptions
The bytes starting with the grpprl
24-bit foreground color
24-bit background color
Shading pattern
Creates a new ShadingDescriptor with default values
Parses the bytes to retrieve a ShadingDescriptor.
The bytes
Identifies the type of a SPRM
The operation code identifies the property of the
PAP/CHP/PIC/SEP/TAP which sould be modified
The type of the SPRM
The arguments which is applied to the property
parses the byte to retrieve a SPRM
The bytes
Get be used to get the size of the sprm's operand.
Returns 0 if the Operation failed and 255 if the size is variable
the 3 bits for spra (as byte)
the size (as byte)
An array of 16-bit signed integer that specifies horizontal distance in twips.
MUST be greater than or equal to -31680 and less than or equal to 31680.
An array of TC80 that specifies the default formatting for a cell in the table.
Each TC80 in the array corresponds to the equivalent column in the table.
If there are fewer TC80s than columns, the remaining columns are formatted with the default TC80 formatting.
If there are more TC80s than columns, the excess TC80s MUST be ignored.
A value from the following table that specifies how this cell merges horizontally with the neighboring cells in the same row.
MUST be one of the following values:
0 The cell is not merged with the cells on either side of it.
1 The cell is one of a set of horizontally merged cells. It contributes its layout region to the set and its own contents are not rendered.
2, 3 The cell is the first cell in a set of horizontally merged cells. The contents and formatting of this cell extend into any consecutive cells following it that are designated as part of the merged set.
A value from the TextFlow enumeration that specifies rotation settings for the text in the cell.
A value from the VerticalMergeFlag enumeration that specifies how this cell merges vertically with the cells above or below it.
A value from the VerticalAlign enumeration that specifies how contents inside this cell are aligned.
An Fts that specifies the unit of measurement for the wWidth field in the TC80 structure.
Specifies whether the contents of the cell are to be stretched out such that the full cell width is used.
When set, specifies that the preferred layout of the contents of this cell are as a single line,
and cell widths can be adjusted to accommodate long lines.
This preference is ignored when the preferred width of this cell is set to ftsDxa.
When set, specifies that this cell is rendered with no height if all cells in the row are empty.
An integer that specifies the preferred width of the cell.
The width includes cell margins, but does not include cell spacing. MUST be non-negative.
The unit of measurement depends on ftsWidth.
If ftsWidth is set to ftsPercent, the value is a fraction of the width of the entire table.
The StyleSheetInformation of the stylesheet.
The list contains all styles.
Parses the streams to retrieve a StyleSheet.
The FileInformationBlock
The 0Table or 1Table stream
The name of the style
Invariant style identifier
style kind
base style
number of UPXs (and UPEs)
next style
hidden from UI?
Do not show this style in long style lists
Locked style?
Is this style linked to another?
A StyleSheetDescription can have a PAPX.
If the style doesn't modify paragraph properties, papx is null.
A StyleSheetDescription can have a CHPX.
If the style doesn't modify character properties, chpx is null.
A StyleSheetDescription can have a TAPX.
If the style doesn't modify table properties, tapx is null.
Creates an empty STD object
Parses the bytes to retrieve a StyleSheetDescription
The bytes
The "Data" stream (optional, can be null)
Count of styles in stylesheet
Length of STD Base as stored in a file
Max sti known when this file was written
This is a list of the default fonts for this style sheet.
The first is for ASCII characters (0-127), the second is for East Asian characters,
and the third is the default font for non-East Asian, non-ASCII text.
Size of each lsd in mpstilsd
The count of lsd's is stiMaxWhenSaved
latent style data (size == stiMaxWhenSaved upon save!)
Parses the bytes to retrieve a StyleSheetInformation
Justification code:
0 left tab
1 centered tab
2 right tab
3 decimal tab
4 bar
Tab leader code:
0 no leader
1 dotted leader
2 hyphenated leader
3 single line leader
4 heavy line leader
5 middle dot
Parses the bytes to retrieve a TabDescriptor
The byte
Creates a TAPX wich doesn't modify anything.
The grpprl list is empty
Parses the bytes to retrieve a TAPX
The bytes starting with the istd
Extracts the TAPX SPRMs out of a PAPX
Unsigned integer that specifies the toolbar control identifier for this toolbar control.
MUST be 0x0001 when the toolbar control is a custom toolbar control or MUST be equal
to one of the values listed in [MS-CTDOC] section 2.2 or in [MS-CTXLS] section 2.2
when the toolbar control is not a custom toolbar control.
Signed integer that specifies the count of total bytes, excluding this field,
in the TBCBitmap structure plus 10. Value is given by the following formula:
cbDIB = sizeOf(biHeader) + sizeOf(colors) + sizeOf(bitmapData) + 10
MUST be greater or equal to 40, and MUST be less or equal to 65576.
Signed integer that specifies if customizationData contains a CTB structure or an array of TBDelta structures.
MUST be greater than or equal to 0x00000000.
If value equals 0x00000000, customizationData MUST contain a CTB structure.
If value does not equal 0x00000000, customizationData MUST contain an array of TBDelta structures
and the value of this field specifies the toolbar identifier of the toolbar affected by
the TBDelta structures contained in the array.
Signed integer that specifies, if tbidForTBD is not equal to 0x00000000, the number of TBDelta
structures contained in the customizationData array.
MUST be 0x0000 if tbidForTBD equals 0x00000000.
A dictionary that contains all SEPX of the document.
The key is the CP at which sections ends.
The value is the SEPX that formats the section.
A dictionary that contains all PAPX of the document.
The key is the FC at which the paragraph starts.
The value is the PAPX that formats the paragraph.
A Plex containing all section descriptors
Contains the names of all author who revised something in the document
The stream "WordDocument"
The stream "0Table" or "1Table"
The stream called "Data"
The StructuredStorageFile itself
The file information block of the word document
All text of the Word document
The style sheet of the document
A list of all font names, used in the doucument
A plex with all ATRDPre10 structs
An array with all ATRDPost10 structs
A list that contains all formatting information of
the lists and numberings in the document.
The drawing object table ....
Each character position specifies the beginning of a range of text
that constitutes the contents of an AutoText item.
Describes the breaks inside the textbox subdocument
Describes the breaks inside the header textbox subdocument
The DocumentProperties of the word document
A list that contains all overriding formatting information
of the lists and numberings in the document.
A list of all FKPs that contain PAPX
A list of all FKPs that contain CHPX
A table that contains the positions of the headers and footer in the text.
Returns a list of all CHPX which are valid for the given FCs.
The lower boundary
The upper boundary
The FCs
Returnes a list of all CharacterPropertyExceptions which correspond to text
between the given boundaries.
The lower boundary
The upper boundary
The FCs
The path of the object in the storage
The the value is true, the object is a linked object
CHPX flags are special flags because the can be 0,1,128 and 129,
so this method overrides the appendFlagElement method.
The source of the conversion.
This is the target of the conversion.
The result will be written to the parts of this document.
The settings of the XmlWriter which writes to the part
A list thta contains all revision ids.
Adds a new RSID to the list
Writes a date attribute to the given writer
Appends a date attribute to the given Element
Creates a new DocumentMapping that writes to the given XmlWriter
Creates a new DocumentMapping that creates a new XmLWriter on to the given ContentPart
Writes the table starts at the given cp value
The cp at where the table begins
The character pointer to the first character after this table
Writes the table row that starts at the given cp value and ends at the next row end mark
The cp at where the row begins
The character pointer to the first character after this row
Writes the table cell that starts at the given cp value and ends at the next cell end mark
The cp at where the cell begins
The TAPX that formats the row to which the cell belongs
The index of this cell in the grid
The grid
The grid
The character pointer to the first character after this cell
Builds a list that contains the width of the several columns of the table.
Finds the FC of the next row end mark.
Some CP before the row end
The CP of the next row end mark
The FC of the next row end mark
Finds the FC of the next row end mark.
Writes a Paragraph that starts at the given cp and
ends at the next paragraph end mark or section end mark
Writes a Paragraph that starts at the given cpStart and
ends at the given cpEnd
Set if this paragraph is the last paragraph of a section
Writes a run with the given characters and CHPX
Writes the given text to the document
Writes a bookmark start element at the given position
Writes a bookmark end element at the given position
Splits a list of characters into several lists
Searches for bookmarks in the list of characters.
A List with all bookmarks indices in the given character list
Searches the given List for the next FieldEnd character.
The List of chars
The position where the search should start
The TextMark
The position of the next FieldEnd mark
Checks if the PAPX is old
The PAPX
Checks if the CHPX is special
The CHPX
Looks into the section table to find out if this CP is the end of a section
Finds the PAPX that is valid for the given FC.
Finds the SEPX that is valid for the given CP.
Converts the number text of the binary format to the number text of OOXML.
OOXML uses different placeholders for the numbers.
The number text of the binary format
Converts the number format code of the binary format.
The number format code
The OOXML attribute value
Writes the embedded OLE object from the ObjectPool of the binary file to the OpenXml Package.
Collects the revision data of a CHPX
Creates a new SectionPropertiesMapping which writes the
properties to the given writer
The XmlWriter
Creates a new SectionPropertiesMapping which appends
the properties to a given node.
The sectPr node
Converts the given SectionPropertyExceptions
Generates a style id for custom style names or returns the build-in identifier for build-in styles.
The StyleSheetDescription
Chooses the correct style name.
Word 2007 needs the identifier instead of the stylename for translating it into the UI language.
The StyleSheetDescription
Writes the "NormalTable" default style
The grind span of this cell
Returns the index of the last occurence of an sprmTTableBorders or sprmTTableBorders80 sprm.
The grpprl of sprms
The index or -1 if no sprm is in the list
Writes a border element
The name of the element
The BorderCode object
Copies the picture from the binary stream to the zip archive
and creates the relationships for the image.
The PictureDescriptor
The created ImagePart
Converts a group of shapes
Converts a single shape
Returns the OpenXML fill type of a fill effect
Returns the OpenXML wrap type of the shape
Build the VML wrapcoords string for a given pWrapPolygonVertices
Copies the picture from the binary stream to the zip archive
and creates the relationships for the image.
The PictureDescriptor
The created ImagePart
Generates a string id for the given shape
Returns the id of the referenced type
Represents Doc format provider.
Initializes a new instance of the class.
Gets the supported extensions.
The supported extensions.
Gets a value indicating whether can import.
The value indicating whether can import.
Gets a value indicating whether can export.
The value indicating whether can export.
Imports the specified input.
The input stream containing the doc file.
The imported document.