Aspose.Words Allows to specify additional options when loading document into a object. Initializes a new instance of this class with default values. Initializes a new instance of this class with instance. When set to true, will try to detect UTF8 characters, they will be preserved during import. Default value is false. Specifies the editing language. https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693(v=vs.85).aspx and also https://ss64.com/locale.html Allows to set up language preferences. Implements 'Set the Office Language Preferences' dialog in Word. Adds additional editing language. Adds additional editing languages. Gets or sets default editing language. The default value is . Allows to specify base document which will be used during comparison. Default value is . Relates to Microsoft Word "Show changes in" option in "Compare Documents" dialog box. This document is used as a base during comparison. Other document is used as a base during comparison. Allows to specify options for document signing. Specifies comments on the digital signature. Default value is empty string (). The date of signing. Default value is current time (). Signature line identifier. Default value is Empty (all zeroes) Guid. When set, it associates with corresponding . The image that will be shown in associated . Default value is null. The password to decrypt source document. Default value is empty string (). If OOXML document is encrypted, you should provide decryption password to decrypt source document before it will be signed. This is not required for documents in binary DOC format. Specifies the class ID of the signature provider. Default value is Empty (all zeroes) Guid. The cryptographic service provider (CSP) is an independent software module that actually performs cryptography algorithms for authentication, encoding, and encryption. MS Office reserves the value of {00000000-0000-0000-0000-000000000000} for its default signature provider. The GUID of the additionally installed provider should be obtained from the documentation shipped with the provider. In addition, all the installed cryptographic providers are enumerated in windows registry. It can be found in the following path: HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider. There is a key name "CP Service UUID" which corresponds to a GUID of signature provider. Type of document nodes that represent <input> and <select> elements imported from HTML. Specifies available options for leading space handling during import from file. Allows to specify additional options when loading document into a object. Initializes a new instance of this class with default values. Allows to specify how numbered list items are recognized when document is imported from plain text format. The default value is true. If this option is set to false, lists recognition algorithm detects list paragraphs, when list numbers ends with either dot, right bracket or bullet symbols (such as "•", "*", "-" or "o"). If this option is set to true, whitespaces are also used as list number delimeters: list recognition algorithm for Arabic style numbering (1., 1.1.2.) uses both whitespaces and dot (".") symbols. Gets or sets preferred option of a trailing space handling. Default value is . Gets or sets preferred option of a leading space handling. Default value is . Allows to specify options for document cleaning. Specifies whether unused styles should be removed from document. Default value is true. Specifies whether unused list and list definitions should be removed from document. Default value is true. Specifies available options for trailing spaces handling during import from file. Defines the endnote position. Endnotes are output at the end of the section. Endnotes are output at the end of the document. Represents the endnote numbering options for a document or section. Specifies the endnotes position. Specifies the number format for automatically numbered endnotes. Not all number styles are applicable for this property. For the list of applicable number styles see the Insert Footnote or Endnote dialog box in Microsoft Word. If you select a number style that is not applicable, Microsoft Word will revert to a default value. Specifies the starting number or character for the first automatically numbered endnotes. This property has effect only when is set to . Determines when automatic numbering restarts. Not all values are applicable to endnotes. To ascertain which values are applicable see . Represents a collection of objects. It is not possible to add or remove items from this collection. It contains permanent set of items: one item for each value of the enumeration type. With using public properties of the class, it is possible to get only conditional styles that correspond to items of the enumeration type. But a collection may contain also styles related to and values, use the this[TableStyleOverrideType] or properties to get them. Clears all conditional styles of the table style. Returns an enumerator object that can be used to iterate over all conditional styles in the collection. Conditional styles related to and values are not included into the enumeration. Retrieves a object. Retrieves a object by conditional style type. Retrieves a object by table style override type. Retrieves a object by index. Zero-based index of the conditional style to retrieve. Gets the number of conditional styles in the collection. Gets the first row style. Gets the first column style. Gets the last row style. Gets the last column style. Gets the odd row banding style. Gets the odd column banding style. Gets the even row banding style. Gets the even column banding style. Gets the top left cell style. Gets the top right cell style. Gets the bottom left cell style. Gets the bottom right cell style. Represents possible table areas to which conditional formatting may be defined in a table style. Specifies formatting of the first row of a table. Specifies formatting of the first column of a table. Specifies formatting of the last row of a table. Specifies formatting of the last column of a table. Specifies formatting of odd-numbered row stripe. Specifies formatting of odd-numbered column stripe. Specifies formatting of even-numbered row stripe. Specifies formatting of even-numbered column stripe. Specifies formatting of the top left cell of a table. Specifies formatting of the top right cell of a table. Specifies formatting of the bottom left cell of a table. Specifies formatting of the bottom right cell of a table. Dml text effect for text runs. Glow effect, in which a color blurred outline is added outside the edges of the object. Fill overlay effect. Shadow effect. Outline effect. 3D effect. Reflection effect. Provides typed access to a collection of nodes. Provides methods to license the component. Initializes a new instance of this class. Licenses the component.

Tries to find the license in the following locations:

1. Explicit path.

2. The folder that contains the Aspose component assembly.

3. The folder that contains the client's calling assembly.

4. The folder that contains the entry (startup) assembly.

5. An embedded resource in the client's calling assembly.

Note:On the .NET Compact Framework, tries to find the license only in these locations:

1. Explicit path.

2. An embedded resource in the client's calling assembly.

Can be a full or short file name or name of an embedded resource. Use an empty string to switch to evaluation mode.
Licenses the component. A stream that contains the license.

Use this method to load a license from a stream.

Returns true if a valid license has been applied; false if the component is running in evaluation mode. Provides methods to set metered key. In this example, an attempt will be made to set metered public and private key [C#] Metered matered = new Metered(); matered.SetMeteredKey("PublicKey", "PrivateKey"); [Visual Basic] Dim matered As Metered = New Metered matered.SetMeteredKey("PublicKey", "PrivateKey") Initializes a new instance of this class. Sets metered public and private key public key private key Gets consumption file size consumption quantity Gets consumption credit consumption quantity Allows to choose advanced options for document comparison operation. True indicates that documents comparison is case insensitive. By default comparison is case sensitive. Specifies whether to compare the differences in data contained in tables. By default tables are not ignored. Specifies whether to compare differences in fields. By default fields are not ignored. Specifies whether to compare differences in footnotes and endnotes. By default footnotes are not ignored. Specifies whether to compare differences in comments. By default comments are not ignored. Specifies whether to compare differences in the data contained within text boxes. By default textboxes are not ignored. True indicates that formatting is ignored. By default document formatting is not ignored. True indicates that headers and footers content is ignored. By default headers and footers are not ignored. Specifies which document shall be used as a target during comparison. Represents a holder of X509Certificate2 instance.

CertificateHolder can be created by static factory methods only. It contains an instance of X509Certificate2 which is used to introduce private, public keys and certificate chains into the system. This class is applied in and instead of obsolete methods with as parameters.

Creates CertificateHolder object using byte array of PKCS12 store and its password. A byte array that contains data from an X.509 certificate. The password required to access the X.509 certificate data. An instance of CertificateHolder Thrown if certBytes is null Thrown if password is null Thrown if PKCS12 store contains no aliases Thrown if there is wrong password or corrupted file. Creates CertificateHolder object using byte array of PKCS12 store and its password. A byte array that contains data from an X.509 certificate. The password required to access the X.509 certificate data. An instance of CertificateHolder Thrown if certBytes is null Thrown if password is null Thrown if PKCS12 store contains no aliases Thrown if there is wrong password or corrupted file. Creates CertificateHolder object using path to PKCS12 store and its password. The name of a certificate file. The password required to access the X.509 certificate data. An instance of CertificateHolder Thrown if fileName is null Thrown if password is null Thrown if PKCS12 store contains no aliases Thrown if there is wrong password or corrupted file. Creates CertificateHolder object using path to PKCS12 store, its password and the alias by using which private key and certificate will be found. The name of a certificate file. The password required to access the X.509 certificate data. The associated alias for a certificate and its private key An instance of CertificateHolder Thrown if fileName is null Thrown if password is null Thrown if PKCS12 store contains no aliases Thrown if there is wrong password or corrupted file. Thrown if there is no private key with the given alias Creates CertificateHolder object using already created . The given must have private key. This method is obsolete and will be removed in the future releases. X509Certificate2 which contains private key. An instance of CertificateHolder Returns the instance of X509Certificate2 which holds private, public keys and certificate chain. instance Allows to specify additional options when loading HTML document into a object. Initializes a new instance of this class with default values. A shortcut to initialize a new instance of this class with the specified password to load an encrypted document. The password to open an encrypted document. Can be null or empty string. A shortcut to initialize a new instance of this class with properties set to the specified values. The format of the document to be loaded. The password to open an encrypted document. Can be null or empty string. The string that will be used to resolve relative URIs to absolute. Can be null or empty string. Copy constructor. Initializes a new instance of this class with instance. Specifies HTML parser to parse conditional comments exactly like <!--[if gte vml 1]> and not to parse conditional comments exactly like <![if !vml]>. The number of milliseconds to wait before the web request times out. The default value is 100000 milliseconds (100 seconds). The number of milliseconds that Aspose.Words waits for a response, when loading external resources (images, style sheets) linked in HTML and MHTML documents. Gets or sets preffered type of document nodes that will represent imported <input> and <select> elements. Default value is . Please note that setting this property does not guarantee that all imported controls will be of the specified type. If an HTML control is not representable with document nodes of the preferred type, Aspose.Words will use a compatible for that control. Specifies the type of a calendar. The Gregorian calendar. The Hijri Lunar calendar. The Hebrew Lunar calendar. The Saka Era calendar. The Um-al-Qura calendar. Base class for internable complex attribute. Internable complex attribute should notify parent collection when going to be changed. Represents frame related formatting for a paragraph.

This object is always created. If a paragraph is a frame, then all properties will contain respective values, otherwise all properties are set to their defaults.

Use to check whether paragraph is a frame.

Gets the rule for determining the height of the specified frame. Gets the height of the specified frame. Gets horizontal distance between a frame and the surrounding text, in points. Gets horizontal distance between the edge of the frame and the item specified by the property. Gets the relative horizontal position of a frame. Gets the relative vertical position of a frame. Specifies vertical distance (in points) between a frame and the surrounding text. Gets vertical distance between the edge of the frame and the item specified by the property. Gets the width of the specified frame, in points. Gets vertical alignment of the specified frame. Gets horizontal alignment of the specified frame. Returns true if the paragraph is a frame. Provides access to VBA project module. Returns VBA project module name. Returns VBA project module source code. Represents a collection of objects. Retrieves a object by index. Zero-based index of the conditional style to retrieve. Provides access to VBA project information. A VBA project inside the document is defined as a collection of VBA modules. Returns VBA project name. Returns collection of VBA project modules. Specifies direction for replace operations. Matched items are replaced from first to last. Matched items are replaced from last back to first. Represents a group of sequential objects. Returns inserted/deleted/moved text or description of format change. Gets the author of this revision group. Gets the type of revisions included in this group. A collection of objects that represent revision groups in the document. You do not create instances of this class directly. Use the property to get revision groups present in a document. Returns an enumerator object. Returns a revision group at the specified index. Returns the number of revision groups in the collection. Allows to extract plain-text representation of the document's content. Creates a plain text document from a file. Automatically detects the file format. Name of the file to extract the text from. The document format is not recognized or not supported. The document appears to be corrupted and cannot be loaded. There is a problem with the document and it should be reported to Aspose.Words developers. There is an input/output exception. The document is encrypted and requires a password to open, but you supplied an incorrect password. The name of the file cannot be null or empty string. Creates a plain text document from a file. Allows to specify additional options such as an encryption password. Name of the file to extract the text from. Additional options to use when loading a document. Can be null. The document format is not recognized or not supported. The document appears to be corrupted and cannot be loaded. There is a problem with the document and it should be reported to Aspose.Words developers. There is an input/output exception. The document is encrypted and requires a password to open, but you supplied an incorrect password. The name of the file cannot be null or empty string. Creates a plain text document from a stream. Automatically detects the file format.

The document must be stored at the beginning of the stream. The stream must support random positioning.

The stream where to extract the text from. The document format is not recognized or not supported. The document appears to be corrupted and cannot be loaded. There is a problem with the document and it should be reported to Aspose.Words developers. There is an input/output exception. The document is encrypted and requires a password to open, but you supplied an incorrect password. The stream cannot be null. The stream does not support reading or seeking. The stream is a disposed object.
Creates a plain text document from a stream. Allows to specify additional options such as an encryption password.

The document must be stored at the beginning of the stream. The stream must support random positioning.

The stream where to extract the text from. Additional options to use when loading a document. Can be null. The document format is not recognized or not supported. The document appears to be corrupted and cannot be loaded. There is a problem with the document and it should be reported to Aspose.Words developers. There is an input/output exception. The document is encrypted and requires a password to open, but you supplied an incorrect password. The stream cannot be null. The stream does not support reading or seeking. The stream is a disposed object.
Gets textual content of the document concatenated as a string. Gets of the document. Gets of the document. Allows to specify options for signature line being inserted. Used in . Gets or sets suggested signer of the signature line. Default value for this property is empty string (). Gets or sets suggested signer's title. Default value for this property is empty string (). Gets or sets suggested signer's e-mail address. Default value for this property is empty string (). Gets or sets a value indicating that default instructions is shown in the Sign dialog. Default value for this property is true. Gets or sets instructions to the signer that are displayed on signing the signature line. Default value for this property is empty string (). Gets or sets a value indicating that the signer can add comments in the Sign dialog. Default value for this property is false. Gets or sets a value indicating that sign date is shown in the signature line. Default value for this property is true. Allows to specify various import options to format output. The most of these options can be found under the advanced options menu in Word, 'cut, copy and paste' section. But some of them, such as have no analogue in Word. Gets or sets a boolean value that specifies how styles will be imported when they have equal names in source and destination documents. The default value is false. When this option is enabled, the source style will be expanded into a direct attributes inside a destination document, if importing mode is used. When this option is disabled, the source style will be expanded only if it is numbered. Existing destination attributes will not be overridden, including lists. Gets or sets a boolean value that specifies how the numbering will be imported when it clashes in source and destination documents. The default value is false. Gets or sets a boolean value that indicates whether to ignore formatting in the text boxes of the source destination during the import. Default value is true. Implemented by classes which can register hyphenation dictionaries. Use this mehod Notifies application that hyphenation dictionary for the specified language wasn't found and may need to be registered. Implementation should find a dictionary and register it using methods. If dictionary is unavailable for the specified language implementation can opt out of further calls for the same language using with null value. A language name, e.g. "en-US". See .NET documentation for "culture name" and RFC 4646 for details. Exceptions thrown by this method will abort execution of page layout process. Provides methods for working with hyphenation dictionaries. These dictionaries prescribe where words of a specific language can be hyphenated. Registers and loads a hyphenation dictionary for the specified language from a stream. Throws if dictionary cannot be read or has invalid format. A language name, e.g. "en-US". See .NET documentation for "culture name" and RFC 4646 for details. A stream for the dictionary file in OpenOffice format. Registers and loads a hyphenation dictionary for the specified language from file. Throws if dictionary cannot be read or has invalid format. This method can also be used to register Null dictionary to prevent from being called repeatedly for the same language. A language name, e.g. "en-US". See .NET documentation for "culture name" and RFC 4646 for details. A path to the dictionary file in Open Office format. If this parameter is null or empty string then registered is Null dictionary and callback is not called anymore for this language. To enable callback again use method. Unregisters a hyphenation dictionary for the specified language. This is different from registering Null dictionary. Unregistering a dictionary enables callback for the specified language. A language name, e.g. "en-US". See .NET documentation for "culture name" and RFC 4646 for details. If null or empty string then all dictionaries are unregistered. Returns False if for the specified language there is no dictionary registered or if registered is Null dictionary, True otherwise. Gets or sets callback interface used to request dictionaries when page layout of the document is built. This allows delay loading of dictionaries which may be usefull when processing documents in many languages. Called during a load hyphenation patterns, when an issue is detected that might result in formatting fidelity loss. This class provides members to manually interrupt Aspose.Words during long running tasks. At the moment only interruption when rendering to fixed-page formats such as PDF, XPS, image is supported Requests Aspose.Words to abandon the current task. Throws a on processing the interrupt request. Associates the current thread with this instance. Use this method before calling Provides methods for signing document. Since digital signature works with file content rather than Document Object Model these methods are put into a separate class. Supported formats are and . Signs source document using given and with digital signature and writes signed document to destination stream.

Document should be either or .

Output will be written to the start of stream and stream size will be updated with content length.

The stream which contains the document to sign. The stream that signed document will be written to. object with certificate that used to sign file. The certificate in holder MUST contain private keys and have the X509KeyStorageFlags.Exportable flag set. object with various signing options.
Signs source document using given and with digital signature and writes signed document to destination file.

Document should be either or .

The file name of the document to sign. The file name of the signed document output. object with certificate that used to sign file. The certificate in holder MUST contain private keys and have the X509KeyStorageFlags.Exportable flag set. object with various signing options.
Signs source document using given with digital signature and writes signed document to destination stream.

Document should be either or .

Output will be written to the start of stream and stream size will be updated with content length.

The stream which contains the document to sign. The stream that signed document will be written to. object with certificate that used to sign file. The certificate in holder MUST contain private keys and have the X509KeyStorageFlags.Exportable flag set.
Signs source document using given with digital signature and writes signed document to destination file.

Document should be either or .

The file name of the document to sign. The file name of the signed document output. object with certificate that used to sign file. The certificate in holder MUST contain private keys and have the X509KeyStorageFlags.Exportable flag set.
Removes all digital signatures from source file and writes unsigned file to destination file. Removes all digital signatures from document in source stream and writes unsigned document to destination stream.

Output will be written to the start of stream and stream size will be updated with content length.

Loads digital signatures from document. Path to the document. Collection of digital signatures. Returns empty collection if file is not signed. Loads digital signatures from document using stream. Stream with the document. Collection of digital signatures. Returns empty collection if file is not signed. Specifies the set of possible aliases (or editing groups) which can be used as aliases to determine if the current user shall be allowed to edit a single range defined by an editable range within a document. Means that editor type is not specified. Specifies that users associated with the Administrators group shall be allowed to edit editable ranges using this editing type when document protection is enabled. Specifies that users associated with the Contributors group shall be allowed to edit editable ranges using this editing type when document protection is enabled. Specifies that users associated with the Current group shall be allowed to edit editable ranges using this editing type when document protection is enabled. Specifies that users associated with the Editors group shall be allowed to edit editable ranges using this editing type when document protection is enabled. Specifies that all users that open the document shall be allowed to edit editable ranges using this editing type when document protection is enabled. Specifies that none of the users that open the document shall be allowed to edit editable ranges using this editing type when document protection is enabled. Specifies that users associated with the Owners group shall be allowed to edit editable ranges using this editing type when document protection is enabled. Same as . Represents a single editable range.

is a "facade" object that encapsulates two nodes and in a document tree and allows to work with an editable range as a single object.

Removes the editable range from the document. Does not remove content inside the editable range. Gets the editable range identifier. The region must be demarcated using the and Editable range identifiers are supposed to be unique across a document and Aspose.Words automatically maintains editable range identifiers when loading, saving and combining documents. Returns or sets the single user for editable range.

This editor can be stored in one of the following forms:

DOMAIN\Username - for users whose access shall be authenticated using the current user's domain credentials.

user@domain.com - for users whose access shall be authenticated using the user's e-mail address as credentials.

user - for users whose access shall be authenticated using the current user's machine credentials.

Single user and editor group cannot be set simultaneously for the specific editable range, if the one is set, the other will be clear.

Returns or sets an alias (or editing group) which shall be used to determine if the current user shall be allowed to edit this editable range.

Single user and editor group cannot be set simultaneously for the specific editable range, if the one is set, the other will be clear.

Gets the node that represents the start of the editable range. Gets the node that represents the end of the editable range. Represents an end of an editable range in a Word document.

A complete editable range in a Word document consists of a and a matching with the same Id.

and are just markers inside a document that specify where the editable range starts and ends.

Use the class as a "facade" to work with an editable range as a single object.

Currently editable ranges are supported only at the inline-level, that is inside , but editable range start and editable range end can be in different paragraphs.
Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Corresponding EditableRangeStart, received by ID. Specifies the identifier of the editable range. Returns . Represents a start of an editable range in a Word document.

A complete editable range in a Word document consists of a and a matching with the same Id.

and are just markers inside a document that specify where the editable range starts and ends.

Use the class as a "facade" to work with an editable range as a single object.

Currently editable ranges are supported only at the inline-level, that is inside , but editable range start and editable range end can be in different paragraphs.
Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Specifies the identifier of the editable range. Gets the facade object that encapsulates this editable range start and end. Returns . Represents a SubDocument - which is a reference to an externally stored document. In this version of Aspose.Words, nodes do not provide public methods and properties to create or modify a subdocument. In this version you are not able to instantiate Subdocument nodes or modify existing except deleting them.

can only be a child of .

Accepts a visitor.

Enumerates over this node and all of its children. Each node calls a corresponding method on DocumentVisitor.

For more info see the Visitor design pattern.

The visitor that will visit the nodes. True if all nodes were visited; false if DocumentVisitor stopped the operation before visiting all nodes.
Returns NodeType.SubDocument Provides information about the current product name and version. Gets the full name of the product. Gets the product version. The product version is in the "Major.Minor.Hotfix.0" format. Represents a revision (tracked change) in a document node or style. Use to check the type of this revision. Accepts this revision. Reject this revision. Gets or sets the author of this revision. Can not be empty string or null. Gets or sets the date/time of this revision. Gets the type of this revision. Gets the immediate parent node (owner) of this revision. This property will work for any revision type other than . If this revision relates to change of Style formatting, use instead. Gets the immediate parent style (owner) of this revision. This property will work for only for the revision type. If this revision relates to changes on document nodes, use instead. Gets the revision group. Returns null if the revision does not belong to any group. Revision has no group if revision type is RevisionType.StyleDefinitionChange or if the revision is not longer exist in document context (accepted/rejected). A collection of objects that represent revisions in the document. You do not create instances of this class directly. Use the property to get revisions present in a document. Accepts all revisions in this collection. Rejects all revisions in this collection. Returns an enumerator object. Returns the number of revisions in the collection. Returns a Revision at the specified index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

An index into the collection.
Collection of revision groups. Specifies the type of change being tracked in . New content was inserted in the document. Content was removed from the document. Change of formatting was applied to the parent node. Change of formatting was applied to the parent style. Content was moved in the document. Contains data returned by document format detection methods. You do not create instances of this class directly. Objects of this class are returned by methods. Gets the detected document format. When an OOXML document is encrypted, it is not possible to ascertained whether it is an Excel, Word or PowerPoint document without decrypting it first so for an encrypted OOXML document this property will always return . Returns true if the document is encrypted and requires a password to open. This property exists to help you sort documents that are encrypted from those that are not. If you attempt to load an encrypted document using Aspose.Words without supplying a password an exception will be thrown. You can use this property to detect whether a document requires a password and take some action before loading a document, for example, prompt the user for a password. Returns true if this document contains a digital signature. This property merely informs that a digital signature is present on a document, but it does not specify whether the signature is valid or not. This property exists to help you sort documents that are digitally signed from those that are not. If you use Aspose.Words to modify and save a document that is digitally signed, then the digital signature will be lost. This is by design because a digital signature exists to guard the authenticity of a document. Using this property you can detect digitally signed documents before processing them in the same way as normal documents and take some action to avoid losing the digital signature, for example notify the user. Gets the detected encoding if applicable to the current document format. At the moment detects encoding only for HTML documents. Allows to specify additional options (such as password or base URI) when loading a document into a object. Initializes a new instance of this class with default values. A shortcut to initialize a new instance of this class with the specified password to load an encrypted document. The password to open an encrypted document. Can be null or empty string. A shortcut to initialize a new instance of this class with properties set to the specified values. The format of the document to be loaded. The password to open an encrypted document. Can be null or empty string. The string that will be used to resolve relative URIs to absolute. Can be null or empty string. Copy constructor. Specifies the format of the document to be loaded. Default is . It is recommended that you specify the value and let Aspose.Words detect the file format automatically. If you know the format of the document you are about to load, you can specify the format explicitly and this will slightly reduce the loading time by the overhead associated with auto detecting the format. If you specify an explicit load format and it will turn out to be wrong, the auto detection will be invoked and a second attempt to load the file will be made. Gets or sets the password for opening an encrypted document. Can be null or empty string. Default is null. You need to know the password to open an encrypted document. If the document is not encrypted, set this to null or empty string. Gets or sets the string that will be used to resolve relative URIs found in the document into absolute URIs when required. Can be null or empty string. Default is null.

This property is used to resolve relative URIs into absolute in the following cases:

When loading an HTML document from a stream and the document contains images with relative URIs and does not have a base URI specified in the BASE HTML element. When saving a document to PDF and other formats, to retrieve images linked using relative URIs so the images can be saved into the output document.
Gets or sets the encoding that will be used to load an HTML or TXT document if the encoding is not specified in HTML/TXT. Can be null. Default is null. This property is used only when loading HTML or TXT documents. If encoding is not specified in HTML/TXT and this property is null, then the system will try to automatically detect the encoding. Allows to control how external resources (images, style sheets) are loaded when a document is imported from HTML, MHTML. Called during a load operation, when an issue is detected that might result in data or formatting fidelity loss. Gets or sets whether to preserve the INCLUDEPICTURE field when reading Microsoft Word formats. The default value is false.

By default, the INCLUDEPICTURE field is converted into a shape object. You can override that if you need the field to be preserved, for example, if you wish to update it programmatically. Note however that this approach is not common for Aspose.Words. Use it on your own risk.

One of the possible use cases may be using a MERGEFIELD as a child field to dynamically change the source path of the picture. In this case you need the INCLUDEPICTURE to be preserved in the model.

Gets or sets whether to convert shapes with EquationXML to Office Math objects. Allows to specify document font settings. When loading some formats, Aspose.Words may require to resolve the fonts. For example, when loading HTML documents Aspose.Words may resolve the fonts to perform font fallback. If set to null, default static font settings will be used. The default value is null. Gets or sets a flag indicating whether cross structure annotation nodes can be added at block/cell/row level. Currently only bookmarks are affected by this option. Gets or sets a default value for the property. Allows defining necessary behavior when an instance of is not specified on opening a document. Allows to specify that the document loading process should match a specific MS Word version. Default value is Different Word versions may handle certain aspects of document content and formatting slightly differently during the loading process, which may result in minor differences in Document Object Model. Specifies whether to update the fields with the dirty attribute. Gets language preferences that will be used when document is loading. Contains information about a warning that Aspose.Words issued during document loading or saving. You do not create instances of this class. Objects of this class are created and passed by Aspose.Words to the method. Returns the type of the warning. Returns the description of the warning. Returns the source of the warning. Represents a typed collection of objects. You can use this collection object as the simplest form of implementation to gather all warnings that Aspose.Words generates during a load or save operation. Create an instance of this class and assign it to the or property. Returns an enumerator object that can be used to iterate over all items in the collection. Removes all elements from the collection. Implements the interface. Adds a warning to this collection. Gets the number of elements contained in the collection. Gets an item at the specified index. Zero-based index of the item. Specifies the module that produces a warning during document loading or saving. The warning source is not specified. Module that builds a document layout. Module that renders DrawingML shapes. Module that renders OfficeMath. Module that renders ordinary shapes. Module that renders metafiles. Module that renders XPS. Module that renders PDF. Module that renders images. Module that reads/writes DOCX files. Module that reads/writes binary DOC files. Module that reads/writes plaintext files. Module that reads/writes RTF files. Module that reads/writes WML files. Common modules that are shared between DOCX/WML reader/writer modules. Module that reads/writes ODT files. Module that reads/writes HTML/MHTML files. Module that verifies model consistency and validity. Module that reads/writes Xaml files. Module that reads Svm files. Module that reads W3C MathML files. Module that reads font files. Specifies the type of a warning that is issued by Aspose.Words during document loading or saving. Some text/char/image or other data will be missing from either the document tree following load, or from the created document following save. Generic data loss, no specific code. The resulting document or a particular location in it might look substantially different compared to the original document. Generic major formatting loss, no specific code. The resulting document or a particular location in it might look somewhat different compared to the original document. Generic minor formatting loss, no specific code. Font has been substituted. Loss of embedded font information during document saving. Some content in the source document could not be recognized (i.e. is unsupported), this may or may not cause issues or result in data/formatting loss. Generic unexpected content, no specific code. Advises of a potential problem or suggests an improvement. Implement this interface if you want to have your own custom method called to capture loss of fidelity warnings that can occur during document loading or saving. Aspose.Words invokes this method when it encounters some issue during document loading or saving that might result in loss of formatting or data fidelity. Represents a single bookmark.

is a "facade" object that encapsulates two nodes and in a document tree and allows to work with a bookmark as a single object.

Removes the bookmark from the document. Does not remove text inside the bookmark. Gets or sets the name of the bookmark. Note that if you change the name of a bookmark to a name that already exists in the document, no error will be given and only the first bookmark will be stored when you save the document. Gets or sets the text enclosed in the bookmark. Gets the node that represents the start of the bookmark. Gets the node that represents the end of the bookmark. Represents an end of a bookmark in a Word document.

A complete bookmark in a Word document consists of a and a matching with the same bookmark name.

and are just markers inside a document that specify where the bookmark starts and ends.

Use the class as a "facade" to work with a bookmark as a single object.

Initializes a new instance of the class. The owner document. The name of the bookmark. Cannot be null. Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Returns . Gets or sets the bookmark name. Cannot be null. A collection of objects that represent the bookmarks in the specified range. Removes the specified bookmark from the document. The bookmark to remove. Removes a bookmark with the specified name. The case-insensitive name of the bookmark to remove. Removes a bookmark at the specified index. The zero-based index of the bookmark to remove. Removes all bookmarks from this collection and from the document. Returns an enumerator object. Returns the number of bookmarks in the collection. Returns a bookmark at the specified index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

An index into the collection.
Returns a bookmark by name.

Returns null if the bookmark with the specified name cannot be found.

Case-insensitive name of the bookmark.
Represents a start of a bookmark in a Word document.

A complete bookmark in a Word document consists of a and a matching with the same bookmark name.

and are just markers inside a document that specify where the bookmark starts and ends.

Use the class as a "facade" to work with a bookmark as a single object.

Initializes a new instance of the class. The owner document. The name of the bookmark. Cannot be null. Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Returns an empty string. An empty string. Returns . Gets the facade object that encapsulates this bookmark start and end. Gets or sets the bookmark name. Cannot be null. Represents a border of an object.

Borders can be applied to various document elements including paragraph, run of text inside a paragraph or a table cell.

This is a model and also presentation class that allows to see and modify border attributes.
Resets border properties to default values. When border properties are reset to default values, the border is invisible. Determines whether the specified object is equal in value to the current object. Serves as a hash function for this type. Gets or sets the border style. If you set line style to none, then line width is automatically changed to zero. Currently AW distinguish Nil and None borders. This public setter is used by customer and always creates Nil border for LineStyle.None Readers and internal code should use setter with LineStyle.None to create None.Border and method to create Nil border. Gets or sets the border width in points.

If you set line width greater than zero when line style is none, the line style is automatically changed to single line.

Returns true if the LineStyle is not LineStyle.None. Gets or sets the border color. Gets or sets distance of the border from text or from the page edge in points. Has no effect and will be automatically reset to zero for borders of table cells. Gets or sets a value indicating whether the border has a shadow.

In Microsoft Word, for a border to have a shadow, the borders on all four sides (left, top, right and bottom) should be of the same type, width, color and all should have the Shadow property set to true.

A collection of Border objects. Different document elements have different borders. For example, ParagraphFormat has Bottom, Left, Right and Top borders. You can specify different formatting for each border independently or enumerate through all borders and apply same formatting. This is a presentation object only, does not store any model data. Compares collections of borders. Removes all borders of an object. Returns an enumerator object that can be used to iterate over all borders in the collection. Retrieves a Border object. Retrieves a Border object by border type.

Note that not all borders are present for different document elements. This method throws an exception if you request a border not applicable to the current object.

A value that specifies the type of the border to retrieve.
Retrieves a Border object by index. Zero-based index of the border to retrieve. Gets the left border. Gets the right border. Gets the top border. Gets the bottom border. Gets the horizontal border that is used between cells or conforming paragraphs. Gets the vertical border that is used between cells. Gets the number of borders in the collection. Gets or sets the border width in points.

Returns the width of the first border in the collection.

Sets the width of all borders in the collection excluding diagonal borders.

Gets or sets the border style.

Returns the style of the first border in the collection.

Sets the style of all borders in the collection excluding diagonal borders.

Gets or sets the border color.

Returns the color of the first border in the collection.

Sets the color of all borders in the collection excluding diagonal borders.

Gets or sets distance of the border from text in points.

Gets the distance from text for the first border.

Sets the distance from text for all borders in the collection excluding diagonal borders.

Has no effect and will be automatically reset to zero for borders of table cells.

Gets or sets a value indicating whether the border has a shadow.

Gets the value from the first border in the collection.

Sets the value for all borders in the collection excluding diagonal borders.

Specifies sides of a border. Default value. Specifies the bottom border of a paragraph or a table cell. Specifies the left border of a paragraph or a table cell. Specifies the right border of a paragraph or a table cell. Specifies the top border of a paragraph or a table cell. Specifies the horizontal border between cells in a table or between conforming paragraphs. Specifies the vertical border between cells in a table. Specifies the diagonal border in a table cell. Specifies the diagonal border in a table cell. Specifies line style of a . In MS Word binary format LineStyle.None means no border for all objects, except table cells. For table cells LineStyle.None means inherit from the default table border. Apparently this looks like a very bad hack made by someone at MS and I work around it by making LineStyle.None to mean "no border" for any object in the model including table cells. The translation is performed in the binary cell reader/writer. I also use a single approach to indicate that a border is inherited. At first the border attribute is simply missing, but if a use requests it, a Border object is instantiated in "inherited" mode. DS 12.10.2010. Right now the enum contains the continuous range of values and it is used in Border.HasValidLineStyle to define if a line style belongs to the enum or not. If new values are added to the enum then Border.HasValidLineStyle should be reworked correspondingly. Contains shading attributes for an object. This is a model and also presentation class that allows to see and modify shading attributes. Removes shading from the object. Determines whether the specified object is equal in value to the current object. Serves as a hash function for this type. Gets or sets the color that's applied to the background of the Shading object. Gets or sets the color that's applied to the foreground of the Shading object. Gets or sets the shading texture. Specifies shading texture. Specifies that there shall be no pattern used on the current shaded region (i.e. the pattern shall be a complete fill with the background color). Actually the Word does not renders shading with such pattern type i.e. shading is invisible (WORDSNET-17402). An absolute position tab is a character which is used to advance the position on the current line of text when displaying this WordprocessingML content. Accepts a visitor.

Calls DocumentVisitor.VisitAbsolutePositionTab.

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Base class for all nodes of a Word document.

A document is represented as a tree of nodes, similar to DOM or XmlDocument.

For more info see the Composite design pattern.

The class:

Defines the child node interface. Defines the interface for visiting nodes. Provides default cloning capability. Implements parent node and owner document mechanisms. Implements access to sibling nodes.
You should use the overload when the node cloning is a part of another (usually composite) node cloning process. And you should pass down the parameter in this case. Accepts a visitor.

Enumerates over this node and all of its children. Each node calls a corresponding method on DocumentVisitor.

For more info see the Visitor design pattern.

The visitor that will visit the nodes. True if all nodes were visited; false if DocumentVisitor stopped the operation before visiting all nodes.
Gets the text of this node and of all its children.

The returned string includes all control and special characters as described in .

Gets the first ancestor of the specified object type. The object type of the ancestor to retrieve. The ancestor of the specified type or null if no ancestor of this type was found.

The ancestor type matches if it is equal to ancestorType or derived from ancestorType.

Gets the first ancestor of the specified . The node type of the ancestor to retrieve. The ancestor of the specified type or null if no ancestor of this type was found. Removes itself from the parent. Gets next node according to the pre-order tree traversal algorithm. The top node (limit) of traversal. Next node in pre-order order. Null if reached the rootNode. Gets the previous node according to the pre-order tree traversal algorithm. The top node (limit) of traversal. Previous node in pre-order order. Null if reached the rootNode. Exports the content of the node into a string in the specified format. The content of the node in the specified format. Exports the content of the node into a string using the specified save options. Specifies the options that control how the node is saved. The content of the node in the specified format. A utility method that converts a node type enum value into a user friendly string. Gets the type of this node. Gets the immediate parent of this node.

If a node has just been created and not yet added to the tree, or if it has been removed from the tree, the parent is null.

Gets the document to which this node belongs.

The node always belongs to a document even if it has just been created and not yet added to the tree, or if it has been removed from the tree.

Gets the node immediately preceding this node. If there is no preceding node, a null is returned. Gets the node immediately following this node. If there is no next node, a null is returned. Returns true if this node can contain other nodes. This method returns false as Node cannot have child nodes. Returns a Range object that represents the portion of a document that is contained in this node. Specifies the type of node change. A node is being inserted in the tree. A node is being removed from the tree. Provides data for methods of the interface. Gets the that is being added or removed. Gets the node's parent before the operation began. Gets the node's parent that will be set after the operation completes. Gets a value indicating what type of node change event is occurring. Implement this interface if you want to receive notifications when nodes are inserted or removed in the document. Called just before a node belonging to this document is about to be inserted into another node. Called when a node belonging to this document has been inserted into another node. Called just before a node belonging to this document is about to be removed from the document. Called when a node belonging to this document has been removed from its parent. Represents a collection of nodes of a specific type.

NodeCollection does not own the nodes it contains, rather, is just a selection of nodes of the specified type, but the nodes are stored in the tree under their respective parent nodes.

NodeCollection supports indexed access, iteration and provides add and remove methods.

The NodeCollection collection is "live", i.e. changes to the children of the node object that it was created from are immediately reflected in the nodes returned by the NodeCollection properties and methods.

NodeCollection is returned by and also serves as a base class for typed node collections such as , etc.

NodeCollection can be "flat" and contain only immediate children of the node it was created from, or it can be "deep" and contain all descendant children.

Adds a node to the end of the collection.

The node is inserted as a child into the node object from which the collection was created.

If the newChild is already in the tree, it is first removed.

If the node being inserted was created from another document, you should use to import the node to the current document. The imported node can then be inserted into the current document.

The node to be added to the end of the collection. The NodeCollection is a "deep" collection.
Inserts a node into the collection at the specified index.

The node is inserted as a child into the node object from which the collection was created.

If the index is equal to or greater than Count, the node is added at the end of the collection.

If the index is negative and its absolute value is greater than Count, the node is added at the end of the collection.

If the newChild is already in the tree, it is first removed.

If the node being inserted was created from another document, you should use to import the node to the current document. The imported node can then be inserted into the current document.

The zero-based index of the node. Negative indexes are allowed and indicate access from the back of the list. For example -1 means the last node, -2 means the second before last and so on. The node to insert. The NodeCollection is a "deep" collection.
Removes the node from the collection and from the document. The node to remove. Removes the node at the specified index from the collection and from the document. The zero-based index of the node. Negative indexes are allowed and indicate access from the back of the list. For example -1 means the last node, -2 means the second before last and so on. Removes all nodes from this collection and from the document. Determines whether a node is in the collection.

This method performs a linear search; therefore, the average execution time is proportional to Count.

The node to locate. True if item is found in the collection; otherwise, false.
Returns the zero-based index of the specified node. The node to locate. The zero-based index of the node within the collection, if found; otherwise, -1.

This method performs a linear search; therefore, the average execution time is proportional to Count.

Copies all nodes from the collection to a new array of nodes.

You should not be adding/removing nodes while iterating over a collection of nodes because it invalidates the iterator and requires refreshes for live collections.

To be able to add/remove nodes during iteration, use this method to copy nodes into a fixed-size array and then iterate over the array.

An array of nodes.
Retrieves a node at the given index. An index into the collection of nodes.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

Gets the number of nodes in the collection. Represents a collection of nodes matching an XPath query executed using the method.

NodeList is returned by and contains a collection of nodes matching the XPath query.

NodeList supports indexed access and iteration.

Treat the NodeList collection as a "snapshot" collection. NodeList starts as a "live" collection because the nodes are not actually retrieved when the XPath query is run. The nodes are only retrieved upon access and at this time the node and all nodes that precede it are cached forming a "snapshot" collection.
Copies all nodes from the collection to a new array of nodes.

You should not be adding/removing nodes while iterating over a collection of nodes because it invalidates the iterator and requires refreshes for live collections.

To be able to add/remove nodes during iteration, use this method to copy nodes into a fixed-size array and then iterate over the array.

An array of nodes.
Provides a simple "foreach" style iteration over the collection of nodes. An IEnumerator. Retrieves a node at the given index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

An index into the list of nodes.
Gets the number of nodes in the list. Specifies the type of a Word document node.

Enumerated node types are provided as a common denominator to ensure all functionality is accessible to all clients (including COM applications that might not have full access to the runtime type information).

Indicates all node types. Allows to select all children.

A object that, as the root of the document tree, provides access to the entire Word document.

A node can have nodes.

A object that corresponds to one section in a Word document.

A node can have Body and HeaderFooter nodes.

A object that contains the main text of a section (main text story).

A node can have and nodes.

A object that contains text of a particular header or footer inside a section.

A node can have and nodes.

A object that represents a table in a Word document.

A node can have nodes.

A row of a table.

A node can have nodes.

A cell of a table row.

A node can have and nodes.

A paragraph of text.

A node is a container for inline level elements , , , , , , , , , , as well as and .

A beginning of a bookmark marker.

An end of a bookmark marker.

A beginning of an editable range.

An end of an editable range.

A beginning of an MoveFrom range.

An end of an MoveFrom range.

A beginning of an MoveTo range.

An end of an MoveTo range.

A group of shapes, images, OLE objects or other group shapes.

A node can contain other and nodes.

A drawing object, such as an OfficeArt shape, image or an OLE object.

A node can contain and nodes.

A comment in a Word document.

A node can have and nodes.

A footnote or endnote in a Word document.

A node can have and nodes.

A run of text.

A special character that designates the start of a Word field.

A special character that separates the field code from the field result.

A special character that designates the end of a Word field.

A form field.

A special character that is not one of the more specific special character types.

A smart tag around one or more inline structures (runs, images, fields,etc.) within a paragraph Allows to define customer-specific information and its means of presentation. A glossary document within the main document. A building block within a glossary document (e.g. glossary document entry). A marker node that represents the start of a commented range. A marker node that represents the end of a commented range. An Office Math object. Can be equation, function, matrix or one of other mathematical objects. Can be a collection of mathematical object and also can contain some non-mathematical objects such as runs of text. A subdocument node which is a link to another document. Reserved for internal use by Aspose.Words. Reserved for internal use by Aspose.Words. Denotes the end of a region of text that has a comment associated with it. To create a comment anchored to a region of text, you need to create a and then create and and set their identifiers to the same value.

is an inline-level node and can only be a child of .

Initializes a new instance of this class.

When is created, it belongs to the specified document, but is not yet part of the document and is null.

To append a to the document use InsertAfter or InsertBefore on the paragraph where you want the comment inserted.

The owner document. The comment identifier to which this object is linked.
Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Specifies the identifier of the comment to which this region is linked to. Returns . Denotes the start of a region of text that has a comment associated with it. To create a comment anchored to a region of text, you need to create a and then create and and set their identifiers to the same value.

is an inline-level node and can only be a child of .

Initializes a new instance of this class.

When is created, it belongs to the specified document, but is not yet part of the document and is null.

To append a to the document use InsertAfter or InsertBefore on the paragraph where you want the comment inserted.

The owner document. The comment identifier to which this object is linked.
Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Specifies the identifier of the comment to which this region is linked. Returns . Represents a table style. It is interesting to note that all attribute collections in the style are not supposed to contain attributes that reference another style. E.g. TablePr of the style should not contain Istd of a table style. It is actually a good thing. The only problem is that we do not validate it and maybe reading from some formats could leave Istd in these collections. Gets or sets a flag indicating whether text in a table row is allowed to split across a page break. The default value is true. Gets the collection of default cell borders for the style. Gets or sets the amount of space (in points) to add to the left of the contents of table cells. Gets or sets the amount of space (in points) to add to the right of the contents of table cells. Gets or sets the amount of space (in points) to add above the contents of table cells. Gets or sets the amount of space (in points) to add below the contents of table cells. Specifies the alignment for the table style. The default value is . Gets or sets the amount of space (in points) between the cells. Gets or sets whether this is a style for a right-to-left table. When true, the cells in rows are laid out right to left. The default value is false. Gets or sets the value that represents the left indent of a table. Gets a object that refers to the shading formatting for table cells. Gets or sets a number of rows to include in the banding when the style specifies odd/even row banding. Gets or sets a number of columns to include in the banding when the style specifies odd/even columns banding. Collection of conditional styles that may be defined for this table style. Represents special formatting applied to some area of a table with assigned table style. Clears formatting of this conditional style. Gets the paragraph formatting of the conditional style. Gets the character formatting of the conditional style. Gets a object that refers to the shading formatting for this conditional style. Gets the collection of default cell borders for the conditional style. Gets or sets the amount of space (in points) to add to the left of the contents of table cells. Gets or sets the amount of space (in points) to add to the right of the contents of table cells. Gets or sets the amount of space (in points) to add above the contents of table cells. Gets or sets the amount of space (in points) to add below the contents of table cells. Gets table area to which this conditional style relates. Specifies type of a break inside a document. Break between paragraphs. Explicit page break. Explicit column break. Specifies start of new section on the same page as the previous section. Specifies start of new section in the new column. Specifies start of new section on a new page. Specifies start of new section on a new even page. Specifies start of new section on a odd page. Explicit line break. Provides methods to insert text, images and other content, specify font, paragraph and section formatting.

DocumentBuilder makes the process of building a Document easier. Document is a composite object consisting of a tree of nodes and while inserting content nodes directly into the tree is possible, it requires good understanding of the tree structure. DocumentBuilder is a "facade" for the complex structure of Document and allows to insert content and formatting quickly and easily.

Create a DocumentBuilder and associate it with a .

The DocumentBuilder has an internal cursor where the text will be inserted when you call , , and other methods. You can navigate the DocumentBuilder cursor to a different location in a document using various MoveToXXX methods.

Use the property to specify character formatting that will apply to all text inserted from the current position in the document onwards.

Use the property to specify paragraph formatting for the current and all paragraphs that will be inserted.

Use the property to specify page and section properties for the current section and all section that will be inserted.

Use the and properties to specify formatting properties for table cells and rows. User the and methods to build a table.

Note that Font, ParagraphFormat and PageSetup properties are updated whenever you navigate to a different place in the document to reflect formatting properties available at the new location.

Initializes a new instance of this class. Creates a new DocumentBuilder object and attaches it to a new object. Initializes a new instance of this class. Creates a new DocumentBuilder object, attaches to the specified object. The cursor is positioned at the beginning of the document. The Document object to attach to. Moves the cursor to the beginning of the document. Moves the cursor to the end of the document. Moves the cursor to the beginning of the body in a specified section.

When sectionIndex is greater than or equal to 0, it specifies an index from the beginning of the document with 0 being the first section. When sectionIndex is less than 0, it specified an index from the end of the document with -1 being the last section.

The cursor is moved to the first paragraph in the Body of the specified section.

The index of the section to move to.
Moves the cursor to the beginning of a header or footer in the current section.

After you moved the cursor into a header or footer, you can use the rest of DocumentBuilder methods to modify the contents of the header or footer.

If you want to create headers and footers different for the first page, you need to set .

If you want to create headers and footers different for even and odd pages, you need to set .

Use to move out of the header into the main text.

Specifies the header or footer to move to.
Moves the cursor to the specified merge field. Moves the cursor to a position just beyond the specified merge field and removes the merge field.

Note that this method deletes the merge field from the document after moving the cursor.

The case-insensitive name of the mail merge field. True if the merge field was found and the cursor was moved; false otherwise.
Moves the merge field to the specified merge field. The case-insensitive name of the mail merge field. When true, moves the cursor to be after the field end. When false, moves the cursor to be before the field start. When true, deletes the merge field. True if the merge field was found and the cursor was moved; false otherwise. Moves the cursor to a field in the document. The field to move the cursor to. When true, moves the cursor to be after the field end. When false, moves the cursor to be before the field start. Moves the cursor to a bookmark.

Moves the cursor to a position just after the start of the bookmark with the specified name.

The comparison is not case-sensitive. If the bookmark was not found, false is returned and the cursor is not moved.

Inserting new text does not replace existing text of the bookmark.

Note that some bookmarks in the document are assigned to form fields. Moving to such a bookmark and inserting text there inserts the text into the form field code. Although this will not invalidate the form field, the inserted text will not be visible because it becomes part of the field code.

The name of the bookmark to move the cursor to. True if the bookmark was found; false otherwise.
Moves the cursor to a bookmark with greater precision.

Moves the cursor to a position before or after the bookmark start or end.

If desired position is not at inline level, moves to the next paragraph.

The comparison is not case-sensitive. If the bookmark was not found, false is returned and the cursor is not moved.

The name of the bookmark to move the cursor to. When true, moves the cursor to the beginning of the bookmark. When false, moves the cursor to the end of the bookmark. When true, moves the cursor to be after the bookmark start or end position. When false, moves the cursor to be before the bookmark start or end position. True if the bookmark was found; false otherwise.
Moves the cursor to a paragraph in the current section.

The navigation is performed inside the current story of the current section. That is, if you moved the cursor to the primary header of the first section, then paragraphIndex specified the index of the paragraph inside that header of that section.

When paragraphIndex is greater than or equal to 0, it specifies an index from the beginning of the section with 0 being the first paragraph. When paragraphIndex is less than 0, it specified an index from the end of the section with -1 being the last paragraph.

The index of the paragraph to move to. The index of the character inside the paragraph. Currently can only specify 0 to move to the beginning of the paragraph or -1 to move to the end of the paragraph.
Moves the cursor to a table cell in the current section.

The navigation is performed inside the current story of the current section.

For the index parameters, when index is greater than or equal to 0, it specifies an index from the beginning with 0 being the first element. When index is less than 0, it specified an index from the end with -1 being the last element.

The index of the table to move to. The index of the row in the table. The index of the column in the table. The index of the character inside the cell. Currently can only specify 0 to move to the beginning of the cell or -1 to move to the end of the cell.
If inline node is not null, moves to it, otherwise moves to the paragraph node. Moves the cursor to an inline node or to the end of a paragraph.

When node is an inline-level node, the cursor is moved to this node and further content will be inserted before that node.

When node is a Paragraph, the cursor is moved to the end of the paragraph and further content will be inserted just before the paragraph break.

When node is a block-level node but not a Paragraph, the cursor is moved to the end of the first paragraph into block-level node and further content will be inserted just before the paragraph break.

The node must be a paragraph or a direct child of a paragraph.
Deletes a row from a table.

If the cursor is inside the row that is being deleted, the cursor is moved out to the next row or to the next paragraph after the table.

If you delete a row from a table that contains only one row, the whole table is deleted.

For the index parameters, when index is greater than or equal to 0, it specifies an index from the beginning with 0 being the first element. When index is less than 0, it specified an index from the end with -1 being the last element.

The index of the table. The index of the row in the table. The row node that was just removed.
Inserts a string into the document at the current insert position. Current font formatting specified by the property is used. The string to insert into the document. Inserts a string and a paragraph break into the document. Current font and paragraph formatting specified by the and properties are used. The string to insert into the document. Inserts a paragraph break into the document.

Calls .

Inserts a paragraph break into the document.

Current paragraph formatting specified by the property is used.

Breaks the current paragraph in two. After inserting the paragraph, the cursor is placed at the beginning of the new paragraph.

The paragraph node that was just inserted. It is the same node as .
Inserts style separator into the document. This method allows to apply different paragraph styles to two different parts of a text line. Inserts a break of the specified type into the document. Use this method to insert paragraph, page, column, section or line break into the document. Specifies the type of the break to insert. Inserts a TOC (table of contents) field into the document.

This method inserts a TOC (table of contents) field into the document at the current position.

A table of contents in a Word document can be built in a number of ways and formatted using a variety of options. The way the table is built and displayed by Microsoft Word is controlled by the field switches.

The easiest way to specify the switches is to insert and configure a table of contents into a Word document using the Insert->Reference->Index and Tables menu, then switch display of field codes on to see the switches. You can press Alt+F9 in Microsoft Word to toggle display of field codes on or off.

For example, after creating a table of contents, the following field is inserted into the document: { TOC \o "1-3" \h \z \u }. You can copy \o "1-3" \h \z \u and use it as the switches parameter.

Note that InsertTableOfContents will only insert a TOC field, but will not actually build the table of contents. The table of contents is built by Microsoft Word when the field is updated.

If you insert a table of contents using this method and then open the file in Microsoft Word, you will not see the table of contents because the TOC field has not yet been updated.

In Microsoft Word, fields are not automatically updated when a document is opened, but you can update fields in a document at any time by pressing F9.

The TOC field switches.
Inserts a Word field into a document. Inserts a Word field into a document and optionally updates the field result. This method inserts a field into a document. Aspose.Words can update fields of most types, but not all. For more details see the overload. The type of the field to append. Specifies whether to update the field immediately. A object that represents the inserted field. Inserts a Word field into a document. Inserts a Word field into a document and updates the field result. This method inserts a field into a document and updates the field result immediately. Aspose.Words can update fields of most types, but not all. For more details see the overload. The field code to insert (without curly braces). A object that represents the inserted field. Inserts a Word field into a document without updating the field result.

Fields in Microsoft Word documents consist of a field code and a field result. The field code is like a formula and the field result is like the value that the formula produces. The field code may also contain field switches that are like additional instructions to perform a specific action.

You can switch between displaying field codes and results in your document in Microsoft Word using the keyboard shortcut Alt+F9. Field codes appear between curly braces ( { } ).

To create a field, you need to specify a field type, field code and a "placeholder" field value. If you are not sure about a particular field code syntax, create the field in Microsoft Word first and switch to see its field code.

Aspose.Words can calculate field results for most of the field types, but this method does not update the field result automatically. Because the field result is not calculated automatically, you are expected to pass some string value (or even an empty string) that will be inserted into the field result. This value will remain in the field result as a placeholder until the field is updated. To update the field result you can call on the field object returned to you or to update fields in the whole document.
The field code to insert (without curly braces). The field value to insert. Pass null for fields that do not have a value. A object that represents the inserted field.
Inserts a hyperlink into the document.

Note that you need to specify font formatting for the hyperlink display text explicitly using the property.

This methods internally calls to insert an MS Word HYPERLINK field into the document.

Text of the link to be displayed in the document. Link destination. Can be a url or a name of a bookmark inside the document. This method always adds apostrophes at the beginning and end of the url. True if the previous parameter is a name of a bookmark inside the document; false is the previous parameter is a URL. A object that represents the inserted field.
Inserts a text form field at the current position.

If you specify a name for the form field, then a bookmark is automatically created with the same name.

The name of the form field. Can be an empty string. Specifies the type of the text form field. Format string used to format the value of the form field. Text that will be shown in the field. Maximum length the user can enter into the form field. Set to zero for unlimited length. The form field node that was just inserted.
Inserts a checkbox form field at the current position.

If you specify a name for the form field, then a bookmark is automatically created with the same name.

The name of the form field. Can be an empty string. The value longer than 20 characters will be truncated. Checked status of the checkbox form field. Specifies the size of the checkbox in points. Specify 0 for MS Word to calculate the size of the checkbox automatically. The form field node that was just inserted.
Inserts a checkbox form field at the current position.

If you specify a name for the form field, then a bookmark is automatically created with the same name.

The name of the form field. Can be an empty string. The value longer than 20 characters will be truncated. Default value of the checkbox form field. Current checked status of the checkbox form field. Specifies the size of the checkbox in points. Specify 0 for MS Word to calculate the size of the checkbox automatically. The form field node that was just inserted.
Inserts a combobox form field at the current position.

If you specify a name for the form field, then a bookmark is automatically created with the same name.

The name of the form field. Can be an empty string. The value longer than 20 characters will be truncated. The items of the ComboBox. Maximum is 25 items. The index of the selected item in the ComboBox. The form field node that was just inserted.
Inserts a footnote or endnote into the document. Specifies whether to insert a footnote or an endnote. Specifies the text of the footnote. Returns a footnote object that was just created. Inserts a footnote or endnote into the document. Specifies whether to insert a footnote or an endnote. Specifies the text of the footnote. Specifies the custom reference mark of the footnote. Returns a footnote object that was just created. Inserts an image into the document. Inserts an image from a .NET object into the document. The image is inserted inline and at 100% scale. The image to insert into the document. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an image from a file or URL into the document. The image is inserted inline and at 100% scale. The file with the image. Can be any valid local or remote URI. The image node that was just inserted.

This overload will automatically download the image before inserting into the document if you specify a remote URI.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an image from a stream into the document. The image is inserted inline and at 100% scale. The stream that contains the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an image from a byte array into the document. The image is inserted inline and at 100% scale. The byte array that contains the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an inline image from a .NET object into the document and scales it to the specified size. The image to insert into the document. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an inline image from a file or URL into the document and scales it to the specified size. The file that contains the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an inline image from a stream into the document and scales it to the specified size. The stream that contains the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an inline image from a byte array into the document and scales it to the specified size. The byte array that contains the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an image from a .NET object at the specified position and size. The image to insert into the document. Specifies where the distance to the image is measured from. Distance in points from the origin to the left side of the image. Specifies where the distance to the image measured from. Distance in points from the origin to the top side of the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. Specifies how to wrap text around the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an image from a file or URL at the specified position and size. The file that contains the image. Specifies where the distance to the image is measured from. Distance in points from the origin to the left side of the image. Specifies where the distance to the image measured from. Distance in points from the origin to the top side of the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. Specifies how to wrap text around the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an image from a stream at the specified position and size. The stream that contains the image. Specifies where the distance to the image is measured from. Distance in points from the origin to the left side of the image. Specifies where the distance to the image measured from. Distance in points from the origin to the top side of the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. Specifies how to wrap text around the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an image from a byte array at the specified position and size. The byte array that contains the image. Specifies where the distance to the image is measured from. Distance in points from the origin to the left side of the image. Specifies where the distance to the image measured from. Distance in points from the origin to the top side of the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. Specifies how to wrap text around the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an embedded OLE object from a stream into the document. Stream containing application data. Programmatic Identifier of OLE object. Specifies either Iconic or Normal mode of OLE object being inserted. Image presentation of OLE object. If value is null Aspose.Words will use one of the predefined images. Shape node containing Ole object and inserted at the current Builder position. Inserts an embedded or linked OLE object from a file into the document. Detects OLE object type using file extension. Full path to the file. If true then linked OLE object is inserted otherwise embedded OLE object is inserted. Specifies either Iconic or Normal mode of OLE object being inserted. Image presentation of OLE object. If value is null Aspose.Words will use one of the predefined images. Shape node containing Ole object and inserted at the current Builder position. Inserts an embedded or linked OLE object from a file into the document. Detects OLE object type using given progID parameter. Full path to the file. ProgId of OLE object. If true then linked OLE object is inserted otherwise embedded OLE object is inserted. Specifies either Iconic or Normal mode of OLE object being inserted. Image presentation of OLE object. If value is null Aspose.Words will use one of the predefined images. Shape node containing Ole object and inserted at the current Builder position. Inserts an HTML string into the document.

You can use InsertHtml to insert an HTML fragment or whole HTML document.

An HTML string to insert into the document.
Inserts an HTML string into the document.

You can use InsertHtml to insert an HTML fragment or whole HTML document.

An HTML string to insert into the document. A value indicating whether formatting specified in is used as base formatting for text imported from HTML. When is false, formating is ignored and formatting of inserted text is based on default HTML formatting. As a result, the text looks as it is rendered in browsers. When is true, formatting of inserted text is based on formatting, and the text looks as if it were inserted with .
Inserts inline shape with specified type and size. The shape type to insert into the document. The width of the shape in points. The height of the shape in points. The shape node that was inserted. Inserts free-floating shape with specified position, size and text wrap type. The shape type to insert into the document Specifies where the horizontal distance to the shape is measured from. Distance in points from the origin to the left side of the shape. Specifies where the vertical distance to the shape is measured from. Distance in points from the origin to the top side of the shape. The width of the shape in points. The width of the shape in points. Specifies how to wrap text around the shape. The shape node that was inserted. Inserts an chart object into the document and scales it to the specified size. The chart type to insert into the document. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an chart object into the document and scales it to the specified size. The chart type to insert into the document. Specifies where the distance to the image is measured from. Distance in points from the origin to the left side of the image. Specifies where the distance to the image measured from. Distance in points from the origin to the top side of the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. Specifies how to wrap text around the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an online video object into the document and scales it to the specified size. The URL to the video. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Insertion of online video from the following resources is supported: https://www.youtube.com/ https://vimeo.com/ If your online video is not displaying correctly, use , which accepts custom embedded html code. The code for embedding video can vary between providers, consult your corresponding provider of choice for details.
Inserts an online video object into the document and scales it to the specified size. The URL to the video. Specifies where the distance to the image is measured from. Distance in points from the origin to the left side of the image. Specifies where the distance to the image measured from. Distance in points from the origin to the top side of the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. Specifies how to wrap text around the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Insertion of online video from the following resources is supported: https://www.youtube.com/ https://vimeo.com/ If your online video is not displaying correctly, use , which accepts custom embedded html code. The code for embedding video can vary between providers, consult your corresponding provider of choice for details.
Inserts an online video object into the document and scales it to the specified size. The URL to the video. The embed code for the video. The thumbnail image bytes. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts an online video object into the document and scales it to the specified size. The URL to the video. The embed code for the video. The thumbnail image bytes. Specifies where the distance to the image is measured from. Distance in points from the origin to the left side of the image. Specifies where the distance to the image measured from. Distance in points from the origin to the top side of the image. The width of the image in points. Can be a negative or zero value to request 100% scale. The height of the image in points. Can be a negative or zero value to request 100% scale. Specifies how to wrap text around the image. The image node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts a signature line at the current position. The object that stores parameters of creating signature line. The signature line node that was just inserted. Inserts a signature line at the specified position. The object that stores parameters of creating signature line. Specifies where the distance to the signature line is measured from. Distance in points from the origin to the left side of the signature line. Specifies where the distance to the signature line measured from. Distance in points from the origin to the top side of the signature line. Specifies how to wrap text around the signature line. The signature line node that was just inserted.

You can change the image size, location, positioning method and other settings using the object returned by this method.

Inserts a horizontal rule shape into the document. Inserts an HTML string into the document. Allows to specify additional options.

You can use InsertHtml to insert an HTML fragment or whole HTML document.

An HTML string to insert into the document. Additional options to use when inserting the HTML string. Can be null.
Inserts a table cell into the document.

To start a table, just call InsertCell. After this, any content you add using other methods of the class will be added to the current cell.

To start a new cell in the same row, call InsertCell again.

To end a table row call .

Use the property to specify cell formatting.

The cell node that was just inserted.
Starts a table in the document.

The next method to call is .

This method starts a nested table when called inside a cell.

The table node that was just created.
Ends a table in the document.

This method should be called only once after was called. When called, EndTable moves the cursor out of the current cell to point just after the table.

The table node that was just finished.
Ends a table row in the document.

Call EndRow to end a table row. If you call immediately after that, then the table continues on a new row.

Use the property to specify row formatting.

The row node that was just finished.
Marks the current position in the document as a bookmark start.

Bookmarks in a document can overlap and span any range. To create a valid bookmark you need to call both and with the same bookmarkName parameter.

Badly formed bookmarks or bookmarks with duplicate names will be ignored when the document is saved.

Name of the bookmark. The bookmark start node that was just created.
Marks the current position in the document as a bookmark end.

Bookmarks in a document can overlap and span any range. To create a valid bookmark you need to call both and with the same bookmarkName parameter.

Badly formed bookmarks or bookmarks with duplicate names will be ignored when the document is saved.

Name of the bookmark. The bookmark end node that was just created.
Marks the current position in the document as an editable range start.

Editable range in a document can overlap and span any range. To create a valid editable range you need to call both and or methods.

Badly formed editable range will be ignored when the document is saved.

The editable range start node that was just created.
Marks the current position in the document as an editable range end.

Editable range in a document can overlap and span any range. To create a valid editable range you need to call both and or methods.

Badly formed editable range will be ignored when the document is saved.

The editable range end node that was just created.
Marks the current position in the document as an editable range end.

Use this overload during creating nested editable ranges.

Editable range in a document can overlap and span any range. To create a valid editable range you need to call both and or methods.

Badly formed editable range will be ignored when the document is saved.

This editable range start. The editable range end node that was just created.
Inserts a document at the cursor position. This method mimics the MS Word behavior, as if CTRL+'A' (select all content) was pressed, then CTRL+'C' (copy selected into the buffer) inside one document and then CTRL+'V' (insert content from the buffer) inside another document. Source document for inserting. Specifies how to merge style formatting that clashes. First node of the inserted content. Inserts a document at the cursor position. This method mimics the MS Word behavior, as if CTRL+'A' (select all content) was pressed, then CTRL+'C' (copy selected into the buffer) inside one document and then CTRL+'V' (insert content from the buffer) inside another document. Source document for inserting. Specifies how to merge style formatting that clashes. Allows to specify options that affect formatting of a result document. First node of the inserted content. Saves current character formatting onto the stack. Retrieves character formatting previously saved on the stack. Inserts a text level node inside the current paragraph before the cursor. Gets or sets the object that this object is attached to. Returns an object that represents current font formatting properties.

Use Font to access and modify font formatting properties.

Specify font formatting before inserting text.

True if the font is formatted as bold. True if the font is formatted as italic. Gets/sets underline type for the current font. Returns an object that represents current paragraph formatting properties. Returns an object that represents current list formatting properties. Returns an object that represents current page setup and section properties. Returns an object that represents current table row formatting properties. Returns an object that represents current table cell formatting properties. Returns true if the cursor is at the beginning of the current paragraph (no text before the cursor). Returns true if the cursor is at the end of the current paragraph. Gets the node that is currently selected in this DocumentBuilder.

CurrentNode is a cursor of DocumentBuilder and points to a Node that is a direct child of a Paragraph. Any insert operations you perform using DocumentBuilder will insert before the CurrentNode.

When the current paragraph is empty or the cursor is positioned just before the end of the paragraph, CurrentNode returns null.

Gets the paragraph that is currently selected in this DocumentBuilder. Gets the story that is currently selected in this DocumentBuilder. Gets the section that is currently selected in this DocumentBuilder. Base class for custom document visitors.

With DocumentVisitor you can define and execute custom operations that require enumeration over the document tree.

For example, Aspose.Words uses DocumentVisitor internally for saving Document in various formats and for other operations like finding fields or bookmarks over a fragment of a document.

To use DocumentVisitor:

Create a class derived from DocumentVisitor. Override and provide implementations for some or all of the VisitXXX methods to perform some custom operations. Call Node.Accept on the Node that you want to start the enumeration from.

DocumentVisitor provides default implementations for all of the VisitXXX methods to make it easier to create new document visitors as only the methods required for the particular visitor need to be overridden. It is not necessary to override all of the visitor methods.

For more information see the Visitor design pattern.

Called when enumeration of the document has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of the document has finished. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a section has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a section has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of the main text story in a section has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of the main text story in a section has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a header or footer in a section has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a header or footer in a section has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a paragraph has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a paragraph has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a table has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a table has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a table row has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a table row has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a table cell has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a table cell has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when a run of text in the is encountered. The object that is being visited. A value that specifies how to continue the enumeration. Called when a field starts in the document.

A field in a Word Word document consists of a field code and field value.

For example, a field that displays a page number can be represented as follows:

[FieldStart]PAGE[FieldSeparator]98[FieldEnd]

The field separator separates field code from field value in the document. Note that some fields have only field code and do not have field separator and field value.

Fields can be nested.

The object that is being visited. A value that specifies how to continue the enumeration.
Called when a field separator is encountered in the document.

The field separator separates field code from field value in the document. Note that some fields have only field code and do not have field separator and field value.

For more info see

The object that is being visited. A value that specifies how to continue the enumeration.
Called when a field ends in the document.

For more info see

The object that is being visited. A value that specifies how to continue the enumeration.
Called when a form field is encountered in the document. The object that is being visited. A value that specifies how to continue the enumeration. Called when a start of a bookmark is encountered in the document. The object that is being visited. A value that specifies how to continue the enumeration. Called when an end of a bookmark is encountered in the document. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a footnote or endnote text has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a footnote or endnote text has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a comment text has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a comment text has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when a start of an editable range is encountered in the document. The object that is being visited. A value that specifies how to continue the enumeration. Called when an end of an editable range is encountered in the document. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a shape has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a shape has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a group shape has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a group shape has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a Office Math object has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a Office Math object has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when a node is encountered in the document. The object that is being visited. A value that specifies how to continue the enumeration. This method is not be called for generic control characters (see ) that can be present in the document. Called when a node is encountered in the document. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a smart tag has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a smart tag has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a structured document tag has started. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a structured document tag has ended. The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a glossary document has started. Note: A glossary document node and its children are not visited when you execute a Visitor over a . If you want to execute a Visitor over a glossary document, you need to call . The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a glossary document has ended. Note: A glossary document node and its children are not visited when you execute a Visitor over a . If you want to execute a Visitor over a glossary document, you need to call . The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a building block has started. Note: A building block node and its children are not visited when you execute a Visitor over a . If you want to execute a Visitor over a building block, you need to execute the visitor over or call . The object that is being visited. A value that specifies how to continue the enumeration. Called when enumeration of a building block has ended. Note: A building block node and its children are not visited when you execute a Visitor over a . If you want to execute a Visitor over a building block, you need to execute the visitor over or call . The object that is being visited. A value that specifies how to continue the enumeration. Called when the start of a commented range of text is encountered. The object that is being visited. A value that specifies how to continue the enumeration. Called when the end of a commented range of text is encountered. The object that is being visited. A value that specifies how to continue the enumeration. Called when a subDocument is encountered. The object that is being visited. A value that specifies how to continue the enumeration. Thrown if a document is encrypted with a password and the password specified when opening the document is incorrect or missing. Thrown during document load, when the document appears to be corrupted and impossible to load. Provides utility methods for working with file formats, such as detecting file format or converting file extensions to/from file format enums. Detects and returns the information about a format of a document. Detects and returns the information about a format of a document stored in a disk file. Even if this method detects the document format, it does not guarantee that the specified document is valid. This method only detects the document format by reading data that is sufficient for detection. To fully verify that a document is valid you need to load the document into a object. This method throws when the format is recognized, but the detection cannot complete because of corruption. The file name. A object that contains the detected information. Detects and returns the information about a format of a document stored in a stream. The stream must be positioned at the beginning of the document. When this method returns, the position in the stream is restored to the original position. Even if this method detects the document format, it does not guarantee that the specified document is valid. This method only detects the document format by reading data that is sufficient for detection. To fully verify that a document is valid you need to load the document into a object. This method throws when the format is recognized, but the detection cannot complete because of corruption. The stream. A object that contains the detected information. Converts IANA content type into a load format enumerated value. Throws when cannot convert. Converts IANA content type into a save format enumerated value. Throws when cannot convert. Converts a load format enumerated value into a file extension. The returned extension is a lower-case string with a leading dot. The value is converted to ".wml". Throws when cannot convert. Converts a value to a value if possible. Throws when cannot convert. Converts a value to a value if possible. Throws when cannot convert. Converts a save format enumerated value into a file extension. The returned extension is a lower-case string with a leading dot. The value is converted to ".wml". The value is converted to ".fopc". Throws when cannot convert. Converts a file name extension into a value. The file extension. Can be with or without a leading dot. Case-insensitive.

If the extension cannot be recognized, returns .

Throws if the parameter is null.
Converts an Aspose.Words image type enumerated value into a file extension. The returned extension is a lower-case string with a leading dot. Throws when cannot convert. Indicates the format of the document that is to be loaded. We should only use values 0..255 here because these values are used as bit flags in the UnifiedScenario enum. Instructs Aspose.Words to recognize the format automatically. Microsoft Word 97 - 2007 Document. Microsoft Word 97 - 2007 Template. The document is in the Word 6 or Word 95 format. Aspose.Words does not currently support loading such documents. Office Open XML WordprocessingML Document (macro-free). Office Open XML WordprocessingML Macro-Enabled Document. Office Open XML WordprocessingML Template (macro-free). Office Open XML WordprocessingML Macro-Enabled Template. Office Open XML WordprocessingML stored in a flat XML file instead of a ZIP package. Office Open XML WordprocessingML Macro-Enabled Document stored in a flat XML file instead of a ZIP package. Office Open XML WordprocessingML Template (macro-free) stored in a flat XML file instead of a ZIP package. Office Open XML WordprocessingML Macro-Enabled Template stored in a flat XML file instead of a ZIP package. RTF format. Microsoft Word 2003 WordprocessingML format. HTML format. MHTML (Web archive) format. MOBI is an eBook format used by the MobiPocket Reader and Amazon Kindle Readers. ODF Text Document. ODF Text Document Template. Plain Text. Markdown text document. Unrecognized format, cannot be loaded by Aspose.Words. Determines when automatic footnote or endnote numbering restarts. Numbering continuous throughout the document. Numbering restarts at each section. Numbering restarts at each page. Valid for footnotes only. Equals . Defines the footnote position. Footnotes are output at the bottom of each page. Footnotes are output beneath text on each page. Represents the footnote numbering options for a document or section. Specifies the footnotes position. Specifies the number format for automatically numbered footnotes. Not all number styles are applicable for this property. For the list of applicable number styles see the Insert Footnote or Endnote dialog box in Microsoft Word. If you select a number style that is not applicable, Microsoft Word will revert to a default value. Specifies the starting number or character for the first automatically numbered footnotes. This property has effect only when is set to . Determines when automatic numbering restarts. Specifies the number of columns with which the footnotes area is formatted. If this property has the value of 0, the footnotes area is formatted with a number of columns based on the number of columns on the displayed page. The default value is 0. Protection type for a document. Keep in the Aspose.Words namespace (not in Aspose.Words.Settings) because many clients are using this enum and it will be a big and unnecessary breaking change. User can only modify comments in the document. User can only enter data in the form fields in the document. User can only add revision marks to the document. No changes are allowed to the document. Available since Microsoft Word 2003. The document is not protected. Indicates the format in which the document is saved. We should only use values 0..255 here because these values are used as bit flags in the UnifiedScenario enum. Default, invalid value for file format. Saves the document in the Microsoft Word 97 - 2007 Document format. Saves the document in the Microsoft Word 97 - 2007 Template format. Saves the document as an Office Open XML WordprocessingML Document (macro-free). Saves the document as an Office Open XML WordprocessingML Macro-Enabled Document. Saves the document as an Office Open XML WordprocessingML Template (macro-free). Saves the document as an Office Open XML WordprocessingML Macro-Enabled Template. Saves the document as an Office Open XML WordprocessingML stored in a flat XML file instead of a ZIP package. Saves the document as an Office Open XML WordprocessingML Macro-Enabled Document stored in a flat XML file instead of a ZIP package. Saves the document as an Office Open XML WordprocessingML Template (macro-free) stored in a flat XML file instead of a ZIP package. Saves the document as an Office Open XML WordprocessingML Macro-Enabled Template stored in a flat XML file instead of a ZIP package. Saves the document in the RTF format. All characters above 7-bits are escaped as hexadecimal or Unicode characters. Saves the document in the Microsoft Word 2003 WordprocessingML format. Saves the document as PDF (Adobe Portable Document) format. Saves the document in the XPS (XML Paper Specification) format. Saves the document in the Extensible Application Markup Language (XAML) format as a fixed document. Saves the document in the Svg (Scalable Vector Graphics) format. Saves the document in the HTML format using absolutely positioned elements Saves the document in the OpenXPS (Ecma-388) format. Saves the document in the PS (PostScript) format. Saves the document in the PCL (Printer Control Language) format. Saves the document in the HTML format. Saves the document in the MHTML (Web archive) format. Saves the document in the IDPF EPUB format. Saves the document as an ODF Text Document. Saves the document as an ODF Text Document Template. Saves the document in the plain text format. Beta. Saves the document in the Extensible Application Markup Language (XAML) format as a flow document. Beta. Saves the document in the Extensible Application Markup Language (XAML) package format as a flow document. Saves the document in the Markdown format. Renders a page or pages of the document and saves them into a single or multipage TIFF file. Renders a page of the document and saves it as a PNG file. Renders a page of the document and saves it as a BMP file. Renders a page of the document and saves it as a vector EMF (Enhanced Meta File) file. Renders a page of the document and saves it as a JPEG file. Renders a page of the document and saves it as a GIF file. Enumerates different ways of presenting the document at the client browser. Note that the actual behavior on the client browser might be affected by security configuration of the browser. Send the document to the browser and present an option to save the document to disk or open in the application associated with the document's extension. Send the document to the browser and presents an option to save the document to disk or open inside the browser. Thrown during document load, when the document format is not recognized or not supported by Aspose.Words. A collection of document variables.

Variable names and values are strings.

Variable names are case-insensitive.

Returns an enumerator object that can be used to iterate over all variable in the collection. Adds a document variable to the collection. The case-insensitive name of the variable to add. The value of the variable. The value cannot be null, if value is null empty string will be used instead. Determines whether the collection contains a document variable with the given name. Case-insensitive name of the document variable to locate. True if item is found in the collection; otherwise, false. Returns the zero-based index of the specified document variable in the collection. The case-insensitive name of the variable. The zero based index. Negative value if not found. Removes a document variable with the specified name from the collection. The case-insensitive name of the variable. Removes a document variable at the specified index. The zero based index. Removes all elements from the collection. Gets the number of elements contained in the collection. Provides access to the collection items. Gets or a sets a document variable by the case-insensitive name. null values are not allowed as a right hand side of the assignment and will be replaced by empty string. Gets or sets a document variable at the specified index. null values are not allowed as a right hand side of the assignment and will be replaced by empty string. Zero-based index of the document variable. Allows the visitor to control the enumeration of nodes. The visitor requests the enumeration to continue. The visitor requests to skip the current node and continue enumeration. The visitor requests the enumeration of nodes to stop. Represents a digital signature on a document and the result of its verification. Gets the type of the digital signature. Gets the time the document was signed. Gets the signing purpose comment. Returns the subject distinguished name of the certificate that was used to sign the document. Returns the subject distinguished name of the certificate isuuer. Returns true if this digital signature is valid and the document has not been tampered with. Returns the certificate object that was used to sign the document. Returns the certificate holder object that contains the certificate was used to sign the document. Provides a read-only collection of digital signatures attached to a document. Returns a dictionary enumerator object that can be used to iterate over all items in the collection. Returns true if all digital signatures in this collection are valid and the document has not been tampered with Also returns true if there are no digital signatures. Returns false if at least one digital signature is invalid. Gets the number of elements contained in the collection. Gets a document signature at the specified index. Zero-based index of the signature. Specifies the type of a digital signature. Indicates an error, unknown digital signature type. The Crypto API signature method used in Microsoft Word 97-2003 .DOC binary documents. The XmlDsig signature method used in OOXML and OpenDocument documents. Specifies whether this is a footnote or an endnote. Both footnotes and endnotes are represented by objects by the class. Use to distinguish between footnotes and endnotes. The object is a footnote. The object is an endnote. Specifies the number style for a list, footnotes and endnotes, page numbers. Should keep members of this enum in sync with . Arabic numbering (1, 2, 3, ...) Upper case Roman (I, II, III, ...) Lower case Roman (i, ii, iii, ...) Upper case Letter (A, B, C, ...) Lower case letter (a, b, c, ...) Ordinal (1st, 2nd, 3rd, ...) Numbered (One, Two, Three, ...) Ordinal (text) (First, Second, Third, ...) Hexadecimal: 8, 9, A, B, C, D, E, F, 10, 11, 12 Chicago Manual of Style: *, †, † Ideograph-digital Japanese counting Aiueo Iroha Full-width Arabic: 1, 2, 3, 4 Half-width Arabic: 1, 2, 3, 4 Japanese legal Japanese digital ten thousand Enclosed circles Decimal full width: 1, 2, 3, 4 Aiueo full width Iroha full width Leading Zero (01, 02,..., 09, 10, 11,..., 99, 100, 101,...) Bullet (check the character code in the text) Korean Ganada Korea Chosung Enclosed full stop Enclosed parenthesis Enclosed circle Chinese Ideograph enclosed circle Ideograph traditional Ideograph Zodiac Ideograph Zodiac traditional Taiwanese counting Ideograph legal traditional Taiwanese counting thousand Taiwanese digital Chinese counting Chinese legal simplified Chinese counting thousand Chinese (not implemented) Korean digital Korean counting Korea legal Korea digital2 Hebrew-1 Arabic alpha Hebrew-2 Arabic abjad Hindi vowels Hindi consonants Hindi numbers Hindi descriptive (cardinals) Thai letters Thai numbers Thai descriptive (cardinals) Vietnamese descriptive (cardinals) Page number format: - 1 -, - 2 -, - 3 -, - 4 - Lowercase Russian alphabet Uppercase Russian alphabet No bullet or number. Custom number format. It is supported by DOCX format only. Specifies how formatting is merged when importing content from another document.

When you copy nodes from one document to another, this option specifies how formatting is resolved when both documents have a style with the same name, but different formatting.

The formatting is resolved as follows:

Built-in styles are matched using their locale independent style identifier. User defined styles are matched using case-sensitive style name. If a matching style is not found in the destination document, the style (and all styles referenced by it) are copied into the destination document and the imported nodes are updated to reference the new style. If a matching style already exists in the destination document, what happens depends on the importFormatMode parameter passed to Document.ImportNode as described below.

When using the UseDestinationStyles option, if a matching style already exists in the destination document, the style is not copied and the imported nodes are updated to reference the existing style.

The drawback of using UseDestinationStyles is that the imported text might look different in the destination document comparing to the source document. For example, the "Heading 1" style in the source document uses Arial 16pt font and the "Heading 1" style in the destination document uses Times New Roman 14pt font. When importing text of "Heading 1" style with no other direct formatting, it will appear as Times New Roman 14pt font in the destination document.

Using the KeepSourceFormatting option allows to make sure the imported text looks in the destination document exactly like it was in the source document. If a matching style already exists in the destination document, the source style is copied and given a unique name by appending a suffix number to it, for example "Normal_0" or "Heading 1_5".

The drawback of using KeepSourceFormatting is that if you perform several imports, you could end up with many styles in the destination document and that could make using consistent style formatting in Microsoft Word difficult for this document.

Using KeepDifferentStyles option allows to reuse destination styles if the formatting they provide is identical to the styles in the source document. If the style in destination document is different from the source then it is imported.

Use the destination document styles and copy new styles. This is the default option. Copy all required styles to the destination document, generate unique style names if needed. Only copy styles that are different from those in the source document. Allows to efficiently perform repeated import of nodes from one document to another.

Aspose.Words provides functionality for easy copying and moving fragments between Microsoft Word documents. This is known as "importing nodes". Before you can insert a fragment from one document into another, you need to "import" it. Importing creates a deep clone of the original node, ready to be inserted into the destination document.

The simplest way to import a node is to use the method provided by the object.

However, when you need to import nodes from one document to another multiple times, it is better to use the class. The class allows to minimize the number of styles and lists created in the destination document.

Copying or moving fragments from one Microsoft Word document to another presents a number of technical challenges for Aspose.Words. In a Word document, styles and list formatting are stored centrally, separately from the text of the document. The paragraphs and runs of text merely reference the styles by internal unique identifiers.

The challenges arise from the fact that styles and lists are different in different documents. For example, to copy a paragraph formatted with the Heading 1 style from one document to another, a number of things must be taken into account: decide whether to copy the Heading 1 style from the source document to the destination document, clone the paragraph, update the cloned paragraph so it refers to the correct Heading 1 style in the destination document. If the style had to be copied, all the styles that it references (based on style and next paragraph style) should be analyzed and possibly copied too and so on. Similar issues exist when copying bulleted or numbered paragraphs because Microsoft Word stores list definitions separately from text.

The class is like a context, that holds the "translation tables" during the import. It correctly translates between styles and lists in the source and destination documents.

Initializes a new instance of the class. The source document. The destination document that will be the owner of imported nodes. Specifies how to merge style formatting that clashes. Initializes a new instance of the class. The source document. The destination document that will be the owner of imported nodes. Specifies how to merge style formatting that clashes. Specifies various options to format imported node.

Imports a node from one document into another.

Importing a node creates a copy of the source node belonging to the importing document. The returned node has no parent. The source node is not altered or removed from the original document.

Before a node from another document can be inserted into this document, it must be imported. During import, document-specific properties such as references to styles and lists are translated from the original to the importing document. After the node was imported, it can be inserted into the appropriate place in the document using or .

If the source node already belongs to the destination document, then simply a deep clone of the source node is created.

The node to import. True to import all child nodes recursively; otherwise, false. The cloned, imported node. The node belongs to the destination document, but has no parent.

Imports a node from one document into another.

Importing a node creates a copy of the source node belonging to the importing document. The returned node has no parent. The source node is not altered or removed from the original document.

Before a node from another document can be inserted into this document, it must be imported. During import, document-specific properties such as references to styles and lists are translated from the original to the importing document. After the node was imported, it can be inserted into the appropriate place in the document using or .

If the source node already belongs to the destination document, then simply a deep clone of the source node is created.

The node to import. True to import all child nodes recursively; otherwise, false. The listener to the node cloning events. The cloned, imported node. The node belongs to the destination document, but has no parent.
Specifies the layout mode for a section allowing to define the document grid behavior. Specifies that no document grid shall be applied to the contents of the corresponding section in the document. Specifies that the corresponding section shall have both the additional line pitch and character pitch added to each line and character within it in order to maintain a specific number of lines per page and characters per line. Characters will not be automatically aligned with gridlines on typing. Specifies that the corresponding section shall have additional line pitch added to each line within it in order to maintain the specified number of lines per page. Specifies that the corresponding section shall have both the additional line pitch and character pitch added to each line and character within it in order to maintain a specific number of lines per page and characters per line. Characters will be automatically aligned with gridlines on typing. Identifies the type of header or footer found in a Word file. This is a per section header/footer. Do not renumber as the value of the enum used as an index into plcfhdd. Header for even numbered pages. Primary header, also used for odd numbered pages. Footer for even numbered pages. Primary footer, also used for odd numbered pages. Header for the first page of the section. Footer for the first page of the section. Provides typed access to nodes of a Section.

There can be maximum of one HeaderFooter

of each per Section.

HeaderFooter objects can occur in any order in the collection.

Links or unlinks all headers and footers to the corresponding headers and footers in the previous section.

If any of the headers or footers do not exist, creates them automatically.

True to link the headers and footers to the previous section; false to unlink them.
Links or unlinks the specified header or footer to the corresponding header or footer in the previous section.

If the header or footer of the specified type does not exist, creates it automatically.

A value that specifies the header or footer to link/unlink. True to link the header or footer to the previous section; false to unlink.
Copies all HeaderFoorters from the collection to a new array of HeaderFoorters. An array of HeaderFoorters. Determines when automatic line numbering restarts. Line numbering restarts at the start of every page. Line numbering restarts at the section start. Line numbering continuous from the previous section. Specifies page orientation. Portrait page orientation (narrow and tall). Landscape page orientation (wide and short). Specifies which pages the page border is printed on. Page border is shown on all pages of the section. Page border is shown on the first page of the section only. Page border is shown on all pages except the first page of the section. Specifies the positioning of the page border relative to the page margin. Border position is measured from the page margin. Border position is measured from the page edge. Represents the page setup properties of a section.

PageSetup object contains all the page setup attributes of a section (left margin, bottom margin, paper size, and so on) as properties.

This is a presentation object only, does not store any model data.
Resets page setup to default paper size, margins and orientation. True if the document has different headers and footers for odd-numbered and even-numbered pages. Note, changing this property affects all sections in the document. True if a different header or footer is used on the first page. For multiple page documents, gets or sets how a document is printed or rendered so that it can be bound as a booklet. Returns or sets the number of pages to be included in each booklet. Returns or sets the type of section break for the specified object. True if endnotes are printed at the end of the next section that doesn't suppress endnotes. Suppressed endnotes are printed before the endnotes in that section. Returns or sets the vertical alignment of text on each page in a document or section. Specifies that this section contains bidirectional (complex scripts) text.

When true, the columns in this section are laid out from right to left.

Gets or sets the layout mode of this section. Gets or sets the number of characters per line in the document grid. Minimum value of the property is 1. Maximum value depends on page width and font size of the Normal style. Minimum character pitch is 90 percent of the font size. For example, maximum number of characters per line of a Letter page with one-inch margins is 43. By default, the property has a value, on which character pitch equals to font size of the Normal style. Gets or sets the number of lines per page in the document grid. Minimum value of the property is 1. Maximum value depends on page height and font size of the Normal style. Minimum line pitch is 136 percent of the font size. For example, maximum number of lines per page of a Letter page with one-inch margins is 39. By default, the property has a value, on which line pitch is in 1.5 times greater than font size of the Normal style. Returns or sets the width of the page in points. Returns or sets the height of the page in points. Returns or sets the paper size. Setting this property updates and values. Setting this value to does not change existing values. Returns or sets the orientation of the page.

Changing Orientation swaps and .

Returns or sets the distance (in points) between the left edge of the page and the left boundary of the body text. Returns or sets the distance (in points) between the right edge of the page and the right boundary of the body text. Returns or sets the distance (in points) between the top edge of the page and the top boundary of the body text. Returns or sets the distance (in points) between the bottom edge of the page and the bottom boundary of the body text. Returns or sets the distance (in points) between the header and the top of the page. Returns or sets the distance (in points) between the footer and the bottom of the page. Gets or sets the amount of extra space added to the margin for document binding. Gets or sets the paper tray (bin) to use for the first page of a section. The value is implementation (printer) specific. Gets or sets the paper tray (bin) to be used for all but the first page of a section. The value is implementation (printer) specific. Gets or sets the page number format. True if page numbering restarts at the beginning of the section. If set to false, the RestartPageNumbering property will override the property so that page numbering can continue from the previous section. Gets or sets the starting page number of the section. The property, if set to false, will override the PageStartingNumber property so that page numbering can continue from the previous section. Gets or sets the way line numbering runs that is, whether it starts over at the beginning of a new page or section or runs continuously. Returns or sets the numeric increment for line numbers. Gets or sets distance between the right edge of line numbers and the left edge of the document. Set this property to zero for automatic distance between the line numbers and text of the document. Gets or sets the starting line number. Returns a collection that represents the set of text columns. Gets or sets whether Microsoft Word uses gutters for the section based on a right-to-left language or a left-to-right language. Specifies where the page border is positioned relative to intersecting texts and objects. Gets or sets a value that indicates whether the specified page border is measured from the edge of the page or from the text it surrounds. Specifies which pages the page border is printed on. Specifies whether the page border includes or excludes the header. Note, changing this property affects all sections in the document. Specifies whether the page border includes or excludes the footer. Note, changing this property affects all sections in the document. Gets a collection of the page borders. Provides options that control numbering and positioning of footnotes in this section. Provides options that control numbering and positioning of endnotes in this section. Allows to specify for the whole page. Default value is This property is only supported for MS Word native formats DOCX, WML, RTF and DOC. Specifies vertical justification of text on each page. Text is aligned at the bottom of the page. Text is aligned in the middle of the page. Text is spread to fill the page. Text is aligned at the top of the page. Specifies paper size. 297 x 420 mm. 210 x 297 mm. 148 x 210 mm. 250 x 353 mm. 176 x 250 mm. 7.25 x 10.5 inches. 8 x 13 inches. 11 x 17 inches. 8.5 x 14 inches. 8.5 x 11 inches. 110 x 220 mm. 8 x 10 inches. 8.5 x 5.5 inches. 11 x 17 inches. 10 x 14 inches. 11 x 17 inches. Custom paper size. A collection of Section objects in the document.

A Microsoft Word document can contain multiple sections. To create a section in a Microsoft Word, select the Insert/Break command and select a break type. The break specifies whether section starts on a new page or on the same page.

Programmatically inserting and removing sections can be used to customize documents produced during mail merge. If a document needs to have different content or parts of the content depending on some criteria, then you can create a "master" document that contains multiple sections and delete some of the sections before or after mail merge.

Copies all sections from the collection to a new array of sections. An array of sections. The type of break at the beginning of the section. The new section starts on the same page as the previous section. The section starts from a new column. The section starts from a new page. The section starts on a new even page. The section starts on a new odd page. Text of a Word document is stored in stories. StoryType identifies a story. Default value. There is no such story in the document. Contains the main text of the document, represented by . Contains footnote text, represented by . Contains endnotes text, represented by . Contains document comments (annotations), represented by . Contains shape or textbox text, represented by . Contains text of the even pages header, represented by . Contains text of the primary header. When header is different for odd and even pages, contains text of the odd pages header. Represented by . Contains text of the even pages footer, represented by . Contains text of the primary footer. When footer is different for odd and even pages, contains text of the odd pages footer. Represented by . Contains text of the first page header, represented by . Contains text of the first page footer, represented by . Contains the text of the footnote separator, represented by . Contains the text of the footnote continuation separator, represented by . Contains the text of the footnote continuation notice separator, represented by . Contains the text of the endnote separator, represented by . Contains the text of the endnote continuation separator, represented by . Contains the text of the endnote continuation notice separator, represented by . Represents a single text column. TextColumn is a member of the collection. The TextColumns collection includes all the columns in a section of a document.

TextColumn objects are only used to specify columns with custom width and spacing. If you want the columns in the document to be of equal width, set TextColumns. to true.

When a new TextColumn is created it has its width and spacing set to zero.

This is both a presentation and a model class. Represents width and spacing of a single column in a section. Only used for custom width columns (not for evenly spaced columns).
Gets or sets the width of the text column in points. Gets or sets the space between this column and the next column in points. Not required for the last column. A collection of objects that represent all the columns of text in a section of a document.

Use to set the number of text columns.

To make all columns equal width and spaced evenly, set to true and specify the amount of space between the columns in . MS Word will automatically calculate column widths.

If you have EvenlySpaced set to false, you need to specify width and spacing for each column individually. Use the indexer to access individual objects.

When using custom column widths, make sure the sum of all column widths and spacings between them equals page width minus left and right page margins.

This is a pure presentation class. Does not store any model data, just provides friendly access to section attributes that are related to managing text columns.
Arranges text into the specified number of text columns.

When is false and you increase the number of columns, new objects are created with zero width and spacing. You need to set width and spacing for the new columns.

The number of columns the text is to be arranged into.
True if text columns are of equal width and evenly spaced. When columns are evenly spaced, gets or sets the amount of space between each column in points. Has effect only when is set to true. When columns are evenly spaced, gets the width of the columns.

Has effect only when is set to true.

When true, adds a vertical line between columns. Gets the number of columns in the section of a document. Returns a text column at the specified index. Represents a single built-in or user-defined style. Removes the specified style from the document. Style removal has following effects on the document model: All references to the style are removed from corresponding paragraphs, runs and tables.If base style is removed its formatting is moved to child styles.If style to be deleted has a linked style, then both of these are deleted. Compares with the specified style. Styles Istds are compared for built-in styles only. Styles defaults are not included in comparison. Base style, linked style and next paragraph style are recursively compared. Compares with the specified style considering base, linked and next paragraph styles. Uses HashSet to check already compared styles to avoid dead loops in linked and next styles. Reserved for system use. IParaAttrSource. Reserved for system use. IParaAttrSource. Gets or sets the name of the style.

Can not be empty string.

If there already is a style with such name in the collection, then this style will override it. All affected nodes will reference new style.

Gets the locale independent style identifier for a built-in style. For user defined (custom) styles, this property returns . Gets all aliases of this style. If style has no aliases then empty array of string is returned. True when the style is one of the built-in Heading styles. Gets the style type (paragraph or character). Gets the owner document. Gets the name of the Style linked to this one. Returns Empty string if no styles are linked. Gets/sets the name of the style this style is based on. This will be an empty string if the style is not based on any other style and it can be set to an empty string. Gets/sets the name of the style to be applied automatically to a new paragraph inserted after a paragraph formatted with the specified style. This property is not used by Aspose.Words. The next paragraph style will only be applied automatically when you edit the document in MS Word. True if this style is one of the built-in styles in MS Word. Gets the character formatting of the style. For list styles this property returns null. Gets the paragraph formatting of the style. For character and list styles this property returns null. Gets the list that defines formatting of this list style. This property is only valid for list styles. For other style types this property returns null. Provides access to the list formatting properties of a paragraph style. This property is only valid for paragraph styles. For other style types this property returns null. Specifies whether this style is shown in the Quick Style gallery inside MS Word UI. Gets the collection of styles this style belongs to. Locale independent style identifier.

The names of built-in styles in MS Word are localized for different languages. Using a style identifier you can find the correct style regardless of the document language.

All user defined styles are assigned the StyleIdentifier.User value.

DO NOT RENUMBER! These values are important for DOC import/export.
The Annotation (Comment) Reference style. The Default Paragraph Font style. The Endnote Reference style. The Footnote Reference style. The Hyperlink style. The Line Number style. The Page Number style. The Body Text style. The Annotation (Comment) Text style. The Endnote Text style. The Footer style. The Footnote Text style. The Header style. The Heading 1 style. The Heading 2 style. The Heading 3 style. The Heading 4 style. The Heading 5 style. The Heading 6 style. The Heading 7 style. The Heading 8 style. The Heading 9 style. The Title style. The Envelope Address style. The Envelope Return style. The Index Heading style. The List style. The List Bullet style. The List Number style. The Normal style. The Normal Indent style. The Table of Figures style. The 1 / a / i style. The 1 / 1.1 / 1.1.1 style. The Article / Section style. Plain Table 1 Plain Table 2 Plain Table 3 Plain Table 4 Plain Table 5 Table Grid Light Grid Table 1 Light Grid Table 2 Grid Table 3 Grid Table 4 Grid Table 5 Dark Grid Table 6 Colorful Grid Table 7 Colorful Grid Table 1 Light - Accent 1 Grid Table 2 - Accent 1 Grid Table 3 - Accent 1 Grid Table 4 - Accent 1 Grid Table 5 Dark - Accent 1 Grid Table 6 Colorful - Accent 1 Grid Table 7 Colorful - Accent 1 Grid Table 1 Light - Accent 2 Grid Table 2 - Accent 2 Grid Table 3 - Accent 2 Grid Table 4 - Accent 2 Grid Table 5 Dark - Accent 2 Grid Table 6 Colorful - Accent 2 Grid Table 7 Colorful - Accent 2 Grid Table 1 Light - Accent 3 Grid Table 2 - Accent 3 Grid Table 3 - Accent 3 Grid Table 4 - Accent 3 Grid Table 5 Dark - Accent 3 Grid Table 6 Colorful - Accent 3 Grid Table 7 Colorful - Accent 3 Grid Table 1 Light - Accent 4 Grid Table 2 - Accent 4 Grid Table 3 - Accent 4 Grid Table 4 - Accent 4 Grid Table 5 Dark - Accent 4 Grid Table 6 Colorful - Accent 4 Grid Table 7 Colorful - Accent 4 Grid Table 1 Light - Accent 5 Grid Table 2 - Accent 5 Grid Table 3 - Accent 5 Grid Table 4 - Accent 5 Grid Table 5 Dark - Accent 5 Grid Table 6 Colorful - Accent 5 Grid Table 7 Colorful - Accent 5 Grid Table 1 Light - Accent 6 Grid Table 2 - Accent 6 Grid Table 3 - Accent 6 Grid Table 4 - Accent 6 Grid Table 5 Dark - Accent 6 Grid Table 6 Colorful - Accent 6 Grid Table 7 Colorful - Accent 6 List Table 1 Light List Table 2 List Table 3 List Table 4 List Table 5 Dark List Table 6 Colorful List Table 7 Colorful List Table 1 Light - Accent 1 List Table 2 - Accent 1 List Table 3 - Accent 1 List Table 4 - Accent 1 List Table 5 Dark - Accent 1 List Table 6 Colorful - Accent 1 List Table 7 Colorful - Accent 1 List Table 1 Light - Accent 2 List Table 2 - Accent 2 List Table 3 - Accent 2 List Table 4 - Accent 2 List Table 5 Dark - Accent 2 List Table 6 Colorful - Accent 2 List Table 7 Colorful - Accent 2 List Table 1 Light - Accent 3 List Table 2 - Accent 3 List Table 3 - Accent 3 List Table 4 - Accent 3 List Table 5 Dark - Accent 3 List Table 6 Colorful - Accent 3 List Table 7 Colorful - Accent 3 List Table 1 Light - Accent 4 List Table 2 - Accent 4 List Table 3 - Accent 4 List Table 4 - Accent 4 List Table 5 Dark - Accent 4 List Table 6 Colorful - Accent 4 List Table 7 Colorful - Accent 4 List Table 1 Light - Accent 5 List Table 2 - Accent 5 List Table 3 - Accent 5 List Table 4 - Accent 5 List Table 5 Dark - Accent 5 List Table 6 Colorful - Accent 5 List Table 7 Colorful - Accent 5 List Table 1 Light - Accent 6 List Table 2 - Accent 6 List Table 3 - Accent 6 List Table 4 - Accent 6 List Table 5 Dark - Accent 6 List Table 6 Colorful - Accent 6 List Table 7 Colorful - Accent 6 A user defined style. Reserved for internal use. A collection of Style objects that represent both the built-in and user-defined styles in a document. At the moment the styles are identified by istd (style index) that never changes (it only changes when importing a style from another document). Will it be better if I used a string name as an identifier? Note however, it should not change once it has been assigned, otherwise will need to update all references to the style in the model. Gets an enumerator object that will enumerate styles in the alphabetical order of their names. Creates a new user defined style and adds it the collection.

You can create character, paragraph or a list style.

When creating a list style, the style is created with default numbered list formatting (1 \ a \ i).

Throws an exception if a style with this name already exists.

A value that specifies the type of the style to create. Case sensitive name of the style to create.
Adds the style to the collection of styles. Copies a style into this collection. Style to be copied. Copied style ready for usage. Style to be copied can belong to the same document as well as to different document. Linked style is copied. This method does doesn't copy base styles. If collection already contains a style with the same name, then new name is automatically generated by adding "_number" suffix starting from 0 e.g. "Normal_0", "Heading 1_1" etc. Use setter for changing the name of the imported style. Gets the owner document. Gets document default text formatting.

Note that document-wide defaults were introduced in Microsoft Word 2007 and are fully supported in OOXML formats () only. Earlier document formats have limited support for this feature and only font names can be stored.

Gets document default paragraph formatting.

Note that document-wide defaults were introduced in Microsoft Word 2007 and are fully supported in OOXML formats () only. Earlier document formats have no support for document default paragraph formatting.

Default paragraph formatting is copied to all top level styles when it is not supported in target document format.
Gets the number of styles in the collection. Retrieves a style from the collection. Gets a style by name or alias.

Case sensitive, returns null if the style with the given name is not found.

If this is an English name of a built in style that does not yet exist, automatically creates it.

Gets a built-in style by its locale independent identifier.

When accessing a style that does not yet exist, automatically creates it.

A value that specifies the built in style to retrieve.
Gets a style by index. Gets by index, not by istd. Represents type of the style. The style is a paragraph style. The style is a character style. The style is a table style. The style is a list style. Control characters often encountered in documents. Provides both char and string versions of the same constants. For example: string ControlChar.LineBreak and char ControlChar.LineBreakChar have the same value. End of a table cell or end of a table row character: (char)7 or "\a". Tab character: (char)9 or "\t". Line feed character: (char)10 or "\n". Line break character: (char)11 or "\v". Page break character: (char)12 or "\f". End of section character: (char)12 or "\f". End of paragraph character: (char)13 or "\r". End of column character: (char)14. Start of MS Word field character: (char)19. Field separator character separates field code from field value. Optional in some fields. Value: (char)20. End of MS Word field character: (char)21. Nonbreaking Hyphen in Microsoft Word is (char)30.

Nonbreaking Hyphen in Microsoft Word does not correspond to the Unicode character U+2011 non-breaking hyphen but instead represents internal information that tells Microsoft Word to display a hyphen and not to break a line.

Useful info: http://www.cs.tut.fi/~jkorpela/dashes.html#linebreaks.

Optional Hyphen in Microsoft Word is (char)31.

Optional Hyphen in Microsoft Word does not correspond to the Unicode character U+00AD soft hyphen. Instead, it inserts internal information that tells Word about a possible hyphenation point.

Space character: (char)32. Non-breaking space character: (char)160. This is the "o" character used as a default value in text input form fields. End of a table cell or end of a table row character: "\x0007" or "\a". Tab character: "\x0009" or "\t". Line feed character: "\x000a" or "\n". Same as . Line feed character: "\x000a" or "\n". Same as . Line break character: "\x000b" or "\v". Page break character: "\x000c" or "\f". Note it has the same value as . End of section character: "\x000c" or "\f". Note it has the same value as . Carriage return character: "\x000d" or "\r". Same as . End of paragraph character: "\x000d" or "\r". Same as End of column character: "\x000e". Carriage return followed by line feed character: "\x000d\x000a" or "\r\n". Not used as such in Microsoft Word documents, but commonly used in text files for paragraph breaks. Non-breaking space character: "\x00a0". Specifies the position for a drop cap text. The paragraph does not have a drop cap. The drop cap is positioned inside the text margin on the anchor paragraph. The drop cap is positioned outside the text margin on the anchor paragraph. Contains font attributes (font name, font size, color, and so on) for an object.

You do not create instances of the class directly. You just use to access the font properties of the various objects such as , , , .

Resets to default font formatting.

Removes all font formatting specified explicitly on the object from which Font was obtained so the font formatting will be inherited from the appropriate parent.

Checks if particular Dml text effect is applied. Dml text effect type. True if particular Dml text effect is applied. Gets or sets the name of the font.

When getting, returns .

When setting, sets , , and to the specified value.

Returns or sets the font used for Latin text (characters with character codes from 0 (zero) through 127). Returns or sets the name of the font in a right-to-left language document. Returns or sets an East Asian font name. Returns or sets the font used for characters with character codes from 128 through 255. Gets or sets the font size in points. Gets or sets the font size in points used in a right-to-left document. True if the font is formatted as bold. True if the right-to-left text is formatted as bold. True if the font is formatted as italic. True if the right-to-left text is formatted as italic. Gets or sets the color of the font. Returns the present calculated color of the text (black or white) to be used for 'auto color'. If the color is not 'auto' then returns .

When text has 'automatic color', the actual color of text is calculated automatically so that it is readable against the background color. As you change the background color, the text color will automatically switch to black or white in MS Word to maximize legibility.

True if the font is formatted as strikethrough text. True if the font is formatted as double strikethrough text. True if the font is formatted as shadowed. True if the font is formatted as outline. True if the font is formatted as embossed. True if the font is formatted as engraved. True if the font is formatted as superscript. True if the font is formatted as subscript. True if the font is formatted as small capital letters. True if the font is formatted as all capital letters. True if the font is formatted as hidden text. Gets or sets the type of underline applied to the font. Gets or sets the color of the underline applied to the font. Gets or sets character width scaling in percent. Returns or sets the spacing (in points) between characters . Returns line spacing of this font (in points). Gets or sets the position of text (in points) relative to the base line. A positive number raises the text, and a negative number lowers it. Gets or sets the font size at which kerning starts. Gets or sets the highlight (marker) color. Gets or sets the font animation effect. Specifies whether the contents of this run shall have right-to-left characteristics. This property, when on, shall not be used with strongly left-to-right text. Any behavior under that condition is unspecified. This property, when off, shall not be used with strong right-to-left text. Any behavior under that condition is unspecified. When the contents of this run are displayed, all characters shall be treated as complex script characters for formatting purposes. This means that , , and a corresponding font name will be used when rendering this run. Also, when the contents of this run are displayed, this property acts as a right-to-left override for characters which are classified as "weak types" and "neutral types". Specifies whether the contents of this run shall be treated as complex script text regardless of their Unicode character values when determining the formatting for this run. True when the formatted characters are not to be spell checked. Gets or sets the locale identifier (language) of the formatted characters. For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx Gets or sets the locale identifier (language) of the formatted right-to-left characters. For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx Gets or sets the locale identifier (language) of the formatted Asian characters. For the list of locale identifiers see https://msdn.microsoft.com/en-us/library/cc233965.aspx Returns a Border object that specifies border for the font. Returns a Shading object that refers to the shading formatting for the font. Gets or sets the character style applied to this formatting. Gets or sets the name of the character style applied to this formatting. Gets or sets the locale independent style identifier of the character style applied to this formatting. Specifies the rule for determining the height of an object. The height will be at least the specified height in points. It will grow, if needed, to accommodate all text inside an object. The height is specified exactly in points. Please note that if the text cannot fit inside the object of this height, it will appear truncated. The height will grow automatically to accommodate all text inside an object. Base class for inline-level nodes that can have character formatting associated with them, but cannot have child nodes of their own.

A class derived from Inline can be a child of Paragraph.

Retrieves the parent of this node. Provides access to the font formatting of this object. Returns true if this object was inserted in Microsoft Word while change tracking was enabled. Returns true if this object was deleted in Microsoft Word while change tracking was enabled. Returns true if this object was moved (deleted) in Microsoft Word while change tracking was enabled. Returns true if this object was moved (inserted) in Microsoft Word while change tracking was enabled. Returns true if formatting of the object was changed in Microsoft Word while change tracking was enabled. Specifies line spacing values for a paragraph. The line spacing can be greater than or equal to, but never less than, the value specified in the property. The line spacing never changes from the value specified in the property, even if a larger font is used within the paragraph. The line spacing is specified in the property as the number of lines. One line equals 12 points. Allows to control what list formatting is applied to a paragraph.

A paragraph in a Microsoft Word document can be bulleted or numbered. When a paragraph is bulleted or numbered, it is said that list formatting is applied to the paragraph.

You do not create objects of the class directly. You access as a property of another object that can have list formatting associated with it. At the moment the objects that can have list formatting are: , and .

of a specifies what list formatting and list level is applied to that particular paragraph.

of a (applicable to paragraph styles only) allows to specify what list formatting and list level is applied to all paragraphs of that particular style.

of a provides access to the list formatting at the current cursor position inside the .

The list formatting itself is stored inside a object that is stored separately from the paragraphs. The list objects are stored inside a collection. There is a single collection per .

The paragraphs do not physically belong to a list. The paragraphs just reference a particular list object via the property and a particular level in the list via the property. By setting these two properties you control what bullets and numbering is applied to a paragraph.

Starts a new default bulleted list and applies it to the paragraph.

This is a shortcut method that creates a new list using the default bulleted template, applies it to the paragraph and selects the 1st list level.

Starts a new default numbered list and applies it to the paragraph.

This is a shortcut method that creates a new list using the default numbered template, applies it to the paragraph and selects the 1st list level.

Removes numbers or bullets from the current paragraph and sets list level to zero.

Calling this method is equivalent to setting the property to null.

Increases the list level of the current paragraph by one level.

This method changes the list level and applies formatting properties of the new level.

In Word documents, lists may consist of up to nine levels. List formatting for each level specifies what bullet or number is used, left indent, space between the bullet and text etc.

Decreases the list level of the current paragraph by one level.

This method changes the list level and applies formatting properties of the new level.

In Word documents, lists may consist of up to nine levels. List formatting for each level specifies what bullet or number is used, left indent, space between the bullet and text etc.

Gets or sets the list level number (0 to 8) for the paragraph.

In Word documents, lists may consist of 1 or 9 levels, numbered 0 to 8.

Has effect only when the property is set to reference a valid list.

True when the paragraph has bulleted or numbered formatting applied to it. Gets or sets the list this paragraph is a member of.

The list that is being assigned to this property must belong to the current document.

The list that is being assigned to this property must not be a list style definition.

Setting this property to null removes bullets and numbering from the paragraph and sets the list level number to zero. Setting this property to null is equivalent to calling .

Returns the list level formatting plus any formatting overrides applied to the current paragraph. Specifies the outline level of a paragraph in the document. The paragraph is at the outline level 1 (topmost level). The paragraph is at the outline level 2. The paragraph is at the outline level 3. The paragraph is at the outline level 4. The paragraph is at the outline level 5. The paragraph is at the outline level 6. The paragraph is at the outline level 7. The paragraph is at the outline level 8. The paragraph is at the outline level 9. The paragraph is at the level of the main text. Specifies text alignment in a paragraph. Text is aligned to the left. Text is centered horizontally. Text is aligned to the right. Text is aligned to both left and right. Text is evenly distributed. Arabic only. Kashida length for text is extended to a medium length determined by the consumer. Arabic only. Kashida length for text is extended to its widest possible length. Arabic only. Kashida length for text is extended to a slightly longer length. Thai only. Text is justified with an optimization for Thai. Represents all the formatting for a paragraph. Resets to default paragraph formatting. Default paragraph formatting is Normal style, left aligned, no indentation, no spacing, no borders and no shading. Gets or sets text alignment for the paragraph. When true, and will be ignored between the paragraphs of the same style.

This setting only takes affect when applied to a paragraph style. If applied to a paragraph directly, it has no effect.

True if all lines in the paragraph are to remain on the same page. True if the paragraph is to remains on the same page as the paragraph that follows it. True if a page break is forced before the paragraph. Specifies whether the current paragraph's lines should be exempted from line numbering which is applied in the parent section. Specifies whether the current paragraph should be exempted from any hyphenation which is applied in the document settings. True if the first and last lines in the paragraph are to remain on the same page as the rest of the paragraph. Gets or sets a flag indicating whether inter-character spacing is automatically adjusted between regions of Latin text and regions of East Asian text in the current paragraph. Gets or sets a flag indicating whether inter-character spacing is automatically adjusted between regions of numbers and regions of East Asian text in the current paragraph. Gets or sets a flag indicating whether East Asian line-breaking rules are applied to the current paragraph. If this property is false, Latin text in the middle of a word can be wrapped for the current paragraph. Otherwise Latin text is wrapped by whole words. Gets or sets a flag indicating whether hanging punctuation is enabled for the current paragraph. Gets or sets whether this is a right-to-left paragraph.

When true, the runs and other inline objects in this paragraph are laid out right to left.

Gets or sets the value (in points) that represents the left indent for paragraph. Gets or sets the value (in points) that represents the right indent for paragraph. Gets or sets the value (in points) for a first line or hanging indent. Use a positive value to set a first-line indent, and use a negative value to set a hanging indent. True if the amount of spacing before the paragraph is set automatically.

When set to true, overrides the effect of .

When you set paragraph Space Before and Space After to Auto, Microsoft Word adds 14 points spacing between paragraphs automatically according to the following rules:

Normally, spacing is added after all paragraphs. In a bulleted or numbered list, spacing is added only after the last item in the list. Spacing is not added between the list items. In a nested bulleted or numbered list spacing is not added. Spacing is normally added after a table. Spacing is not added after a table if it is the last block in a table cell. Spacing is not added after the last paragraph in a table cell.
True if the amount of spacing after the paragraph is set automatically.

When set to true, overrides the effect of .

When you set paragraph Space Before and Space After to Auto, Microsoft Word adds 14 points spacing between paragraphs automatically according to the following rules:

Normally, spacing is added after all paragraphs. In a bulleted or numbered list, spacing is added only after the last item in the list. Spacing is not added between the list items. In a nested bulleted or numbered list spacing is not added. Spacing is normally added after a table. Spacing is not added after a table if it is the last block in a table cell. Spacing is not added after the last paragraph in a table cell.
Gets or sets the amount of spacing (in points) before the paragraph.

Has no effect when is true.

Gets or sets the amount of spacing (in points) after the paragraph.

Has no effect when is true.

Gets or sets the line spacing for the paragraph. Gets or sets the line spacing (in points) for the paragraph.

When LineSpacingRule property is set to AtLeast, the line spacing can be greater than or equal to, but never less than the specified LineSpacing value.

When LineSpacingRule property is set to Exactly, the line spacing never changes from the specified LineSpacing value, even if a larger font is used within the paragraph.

True when the paragraph style is one of the built-in Heading styles. True when the paragraph is an item in a bulleted or numbered list. Specifies the outline level of the paragraph in the document. Gets or sets the number of lines of the paragraph text used to calculate the drop cap height. Gets or sets the position for a drop cap text. Returns a Shading object that refers to the shading formatting for the paragraph. Gets collection of borders of the paragraph. Gets or sets the paragraph style applied to this formatting. Gets or sets the name of the paragraph style applied to this formatting. Gets or sets the locale independent style identifier of the paragraph style applied to this formatting. Gets the collection of custom tab stops defined for this object. Provides typed access to a collection of nodes. Copies all paragraphs from the collection to a new array of paragraphs. An array of paragraphs. Represents a contiguous area in a document.

The document is represented by a tree of nodes and the nodes provide operations to work with the tree, but some operations are easier to perform if the document is treated as a contiguous sequence of text.

Range is a "facade" interface that provide methods that treat the document or portions of the document as "flat" text regardless of the fact that the document nodes are stored in a tree-like object model.

Range does not contain any text or nodes, it is merely a view or "window" over a fragment of a document.

Deletes all characters of the range. Replaces all occurrences of a character pattern specified by a regular expression with another string.

Used case-insensitive comparison.

Replaces the whole match captured by the regular expression.

Method is able to process breaks in both pattern and replacement strings.

You should use special meta-characters if you need to work with breaks: &p - paragraph break&b - section break&m - page break&l - manual line break Use method to have more flexible customization.
A string to be replaced. A string to replace all occurrences of pattern. The number of replacements made. Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.Writeln("Numbers 1, 2, 3"); // Inserts paragraph break after Numbers. doc.Range.Replace("Numbers", "Numbers&p", new FindReplaceOptions());
Replaces all occurrences of a character pattern specified by a regular expression with another string.

Replaces the whole match captured by the regular expression.

Method is able to process breaks in both pattern and replacement strings.

You should use special meta-characters if you need to work with breaks: &p - paragraph break&b - section break&m - page break&l - manual line break Use method to have more flexible customization.
A regular expression pattern used to find matches. A string to replace all occurrences of pattern. The number of replacements made. Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.Writeln("a1, b2, c3"); // Replaces each number with paragraph break. doc.Range.Replace(new Regex(@"\d+"), "&p");
Replaces all occurrences of a character pattern specified by a regular expression with another string.

Replaces the whole match captured by the regular expression.

Method is able to process breaks in both pattern and replacement strings.

You should use special meta-characters if you need to work with breaks: &p - paragraph break&b - section break&m - page break&l - manual line break To leave any meta-character intact a parameter should be set to true.
A string to be replaced. A string to replace all occurrences of pattern. object to specify additional options. The number of replacements made. Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.Writeln("Numbers 1, 2, 3"); // Inserts paragraph break after Numbers. doc.Range.Replace("Numbers", "Numbers&p", new FindReplaceOptions());
Replaces all occurrences of a character pattern specified by a regular expression with another string.

Replaces the whole match captured by the regular expression.

Method is able to process breaks in both pattern and replacement strings.

You should use special meta-characters if you need to work with breaks: &p - paragraph break&b - section break&m - page break&l - manual line break To leave any meta-character intact a parameter should be set to true.
A regular expression pattern used to find matches. A string to replace all occurrences of pattern. object to specify additional options. The number of replacements made. Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); builder.Writeln("a1, b2, c3"); // Replaces each number with paragraph break. doc.Range.Replace(new Regex(@"\d+"), "&p", new FindReplaceOptions());
Updates the values of document fields in this range. When you open, modify and then save a document, Aspose.Words does not update fields automatically, it keeps them intact. Therefore, you would usually want to call this method before saving if you have modified the document programmatically and want to make sure the proper (calculated) field values appear in the saved document. There is no need to update fields after executing a mail merge because mail merge is a kind of field update and automatically updates all fields in the document.

This method does not update all field types. For the detailed list of supported field types, see the Programmers Guide.

This method does not update fields that are related to the page layout algorithms (e.g. PAGE, PAGES, PAGEREF). The page layout-related fields are updated when you render a document or call . To update fields in the whole document use .
Unlinks fields in this range. Replaces all the fields in this range with their most recent results. To unlink fields in the whole document use . Changes field type values of , , in this range so that they correspond to the field types contained in the field codes. Use this method after document changes that affect field types. To change field type values in the whole document use . Constructs a new fully formed document that contains the range. Gets the text of the range.

The returned string includes all control and special characters as described in .

Returns a collection that represents all form fields in the range. Returns a collection that represents all bookmarks in the range. Returns a collection that represents all fields in the range. Represents a run of characters with the same font formatting.

All text of the document is stored in runs of text.

Run can only be a child of Paragraph.

Initializes a new instance of the Run class.

When Run is created, it belongs to the specified document, but is not yet part of the document and ParentNode is null.

To append Run to the document use InsertAfter or InsertBefore on the paragraph where you want the run inserted.

The owner document.
Initializes a new instance of the Run class.

When Run is created, it belongs to the specified document, but is not yet part of the document and ParentNode is null.

To append Run to the document use InsertAfter or InsertBefore on the paragraph where you want the run inserted.

The owner document. The text of the run.
Accepts a visitor.

Calls DocumentVisitor.VisitRun.

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Gets the text of the run. The text of the run. Returns NodeType.Run. Gets or sets the text of the run. Provides typed access to a collection of nodes. Copies all runs from the collection to a new array of runs. An array of runs. Retrieves a Run at the given index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

An index into the collection.
Base class for special characters in the document.

A Microsoft Word document can include a number of special characters that represent fields, form fields, shapes, OLE objects, footnotes etc. For the list of special characters see .

SpecialChar is an inline-node and can only be a child of Paragraph.

SpecialChar char is used as a base class for more specific classes that represent special characters that Aspose.Words provides programmatic access for. The SpecialChar class is also used itself to represent special character for which Aspose.Words does not provide detailed programmatic access.

Accepts a visitor.

Calls DocumentVisitor.VisitSpecialChar.

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Gets the special character that this node represents. The string that contains the character that this node represents. Returns NodeType.SpecialChar. Specifies the alignment/type of a tab stop. Left-aligns the text after the tab stop. Centers the text around the tab stop. Right-aligns the text at the tab stop. Aligns the text at the decimal dot. Draws a vertical bar at the tab stop position. The tab is a delimiter between the number/bullet and text in a list item. Clears any tab stop in this position. Specifies the type of the leader line displayed under the tab character. No leader line is displayed. The leader line is made up from dots. The leader line is made up from dashes. The leader line is a single line. The leader line is a single thick line. The leader line is made up from middle-dots. Represents a single custom tab stop. The TabStop object is a member of the collection.

Normally, a tab stop specifies a position where a tab stop exists. But because tab stops can be inherited from parent styles, it might be needed for the child object to define explicitly that there is no tab stop at a given position. To clear an inherited tab stop at a given position, create a TabStop object and set to TabAlignment.Clear.

For more information see .

Ctor. Initializes a new instance of this class. Initializes a new instance of this class. The position of the tab stop in points. A value that specifies the alignment of text at this tab stop. A value that specifies the type of the leader line displayed under the tab character. Ctor. Gets the position of the tab stop in points. Gets or sets the alignment of text at this tab stop. Gets or sets the type of the leader line displayed under the tab character. Returns true if this tab stop clears any existing tab stops in this position. A collection of objects that represent custom tabs for a paragraph or a style.

In Microsoft Word documents, a tab stop can be defined in the properties of a paragraph style or directly in the properties of a paragraph. A style can be based on another style. Therefore, the complete set of tab stops for a given object is a combination of tab stops defined directly on this object and tab stops inherited from the parent styles.

In Aspose.Words, when you obtain a TabStops collection for a paragraph or a style, it contains only the custom tab stops defined directly for this paragraph or style. The collection does not include tab stops defined in the parent styles or default tab stops.

This whole collection is stored in the paragraph attributes as a single attribute.
Determines whether the specified object is equal in value to the current object. Serves as a hash function for this type. Deletes all tab stop positions. Gets the position (in points) of the tab stop at the specified index. An index into the collection of tab stops. The position of the tab stop. Gets the index of a tab stop with the specified position in points. Adds or replaces a tab stop in the collection.

If a tab stop already exists at the specified position, it is replaced.

A tab stop object to add.
Adds or replaces a tab stop in the collection.

If a tab stop already exists at the specified position, it is replaced.

A position (in points) where to add the tab stop. A value that specifies the alignment of text at the tab stop. A value that specifies the type of the leader line displayed under the tab character.
Removes a tab stop at the specified position from the collection. The position (in points) of the tab stop to remove. Removes a tab stop at the specified index from the collection. An index into the collection of tab stops. Gets a first tab stop to the right of the specified position.

Skips tab stops with Alignment set to TabAlignment.Bar.

The reference position (in points). A tab stop object or null if a suitable tab stop was not found.
Gets a first tab stop to the left of the specified position.

Skips tab stops with Alignment set to TabAlignment.Bar.

The reference position (in points). A tab stop object or null if a suitable tab stop was not found.
Gets the number of tab stops in the collection. Retrieves a tab stop from the collection. Gets a tab stop at the given index. An index into the collection of tab stops. Gets a tab stop at the specified position. Returns null if no tab stop is found at the specified position. The position (in points) of the tab stop. Animation effect for text runs. Specifies orientation of text on a page, in a table cell or a text frame. Text is arranged horizontally (lr-tb). Text is rotated 90 degrees to the right to appear from top to bottom (tb-rl). Text is rotated 90 degrees to the left to appear from bottom to top (bt-lr). Text is arranged horizontally, but Far East characters are rotated 90 degrees to the left (lr-tb-v). Far East characters appear vertical, other text is rotated 90 degrees to the right to appear from top to bottom (tb-rl-v). Far East characters appear vertical, other text is rotated 90 degrees to the right to appear from top to bottom vertically, then left to right horizontally (tb-lr-v). IN: Set this value to 7 because MS Word uses this value in DOC format. Indicates type of the underline applied to a font. Provides methods for COM clients to load a document into Aspose.Words.

Use the class to load a document from a file or stream into a object in a COM application.

The class provides a default constructor to create a new document and also provides overloaded constructors to load a document from a file or stream. If you are using Aspose.Words from a .NET application, you can use all of the constructors directly, but if you are using Aspose.Words from a COM application, only the default constructor is available.

[VBScript] Dim helper Set helper = CreateObject("Aspose.Words.ComHelper") Dim doc Set doc = helper.Open(fileName)
Initializes a new instance of this class. Allows a COM application to load a document. Allows a COM application to load a from a file.

This method is same as calling the constructor with a file name parameter.

[VBScript] Dim helper Set helper = CreateObject("Aspose.Words.ComHelper") Dim doc Set doc = helper.Open(fileName) Filename of the document to load. A object that represents a Word document.
Allows a COM application to load from a stream.

This method is same as calling the constructor with a stream parameter.

A .NET stream object that contains the document to load. A object that represents a Word document.
Provides helper functions to convert between various measurement units. This is only a public wrapper that makes functions available in the public Aspose.Words namespace. The actual implementation is in . Converts points to pixels. Converts points to pixels at 96 dpi. The value to convert. 1 inch equals 72 points. Converts points to pixels at the specified pixel resolution. The value to convert. The dpi (dots per inch) resolution. 1 inch equals 72 points. Converts pixels to points. Converts pixels to points at 96 dpi. The value to convert. 1 inch equals 72 points. Converts pixels to points at the specified pixel resolution. The value to convert. The dpi (dots per inch) resolution. 1 inch equals 72 points. Converts pixels from one resolution to another. The value to convert. The current dpi (dots per inch) resolution. The new dpi (dots per inch) resolution. Converts inches to points. The value to convert. 1 inch equals 72 points. Converts points to inches. The value to convert. 1 inch equals 72 points. Converts millimeters to points. The value to convert. 1 inch equals 25.4 millimeters. 1 inch equals 72 points.

The Aspose.Words namespace provides classes for generating, converting, modifying, rendering and printing Microsoft Word documents without utilizing Microsoft Word.

Aspose.Words is written completely in C#, CLS compliant and contains only safe managed code. Microsoft Word is not required in order to use Aspose.Words.

The classes in the Aspose.Words namespace borrow best practices from two well-known frameworks: Microsoft Word Automation and System.Xml. A document in Aspose.Words is represented by a tree of nodes, much like in XML DOM. Where possible, class, method and property names match those found in Microsoft Word Automation.

The main classes in this namespace are:

is the main class of the object model that represents a Microsoft Word document. provides an easy way to insert content and formatting into a document. is the base class for all nodes in the document. is the base class for all nodes of the document that can contain other nodes, for example , and .
The Aspose.Words.Shaping namespace contains classes to provide support for OpenType features using external text shaping engines. Used as a value for the property. Specifies the security level of a document as a numeric value. There are no security states specified by the property. The document is password protected. (Note has never been seen in a document so far). The document to be opened read-only if possible, but the setting can be overridden. The document to always be opened read-only. The document to always be opened read-only except for annotations. A collection of built-in document properties. Provides access to objects by their names (using an indexer) and via a set of typed properties that return values of appropriate types.

The names of the properties are case-insensitive.

The properties in the collection are sorted alphabetically by name.

Returns a object. Returns a object by the name of the property. The string names of the properties correspond to the names of the typed properties available from . If you request a property that is not present in the document, but the name of the property is recognized as a valid built-in name, a new is created, added to the collection and returned. The newly created property is assigned a default value (empty string, zero, false or DateTime.MinValue depending on the type of the built-in property). If you request a property that is not present in the document and the name is not recognized as a built-in name, a null is returned. The case-insensitive name of the property to retrieve. Gets or sets the name of the document's author. Represents an estimate of the number of bytes in the document. Microsoft Word does not always set this property. Aspose.Words does not update this property. Represents an estimate of the number of characters in the document. Aspose.Words updates this property when you call . Represents an estimate of the number of characters (including spaces) in the document. Aspose.Words updates this property when you call . Gets or sets the document comments. Gets or sets the category of the document. Gets or sets the company property. Gets or sets date of the document creation in UTC. For documents originated from RTF format this property returns local time of the author's machine at the moment of document creation. Aspose.Words does not update this property. Specifies the base string used for evaluating relative hyperlinks in this document. Aspose.Words does not use this property. Gets or sets the document keywords. Gets or sets the date when the document was last printed in UTC. For documents originated from RTF format this property returns the local time of last print operation. If the document was never printed, this property will return DateTime.MinValue. Aspose.Words does not update this property. Gets or sets the name of the last author. Aspose.Words does not update this property. Gets or sets the time of the last save in UTC. For documents originated from RTF format this property returns the local time of last save operation. Aspose.Words does not update this property. Represents an estimate of the number of lines in the document. Aspose.Words updates this property when you call . Indicates whether hyperlinks in a document are up-to-date. Aspose.Words does not update this property. Gets or sets the manager property. Gets or sets the name of the application. Represents an estimate of the number of pages in the document. Aspose.Words updates this property when you call . Represents an estimate of the number of paragraphs in the document. Aspose.Words updates this property when you call . Gets or sets the document revision number. Aspose.Words does not update this property. Specifies the security level of a document as a numeric value. Use this property for informational purposes only because Microsoft Word does not always set this property. This property is available in DOC and OOXML documents only. To protect or unprotect a document use the and methods. Aspose.Words updates this property to a correct value before saving a document. Gets or sets the subject of the document. Gets or sets the informational name of the document template. In Microsoft Word, this property is for informational purposes only and usually contains only the file name of the template without the path. Empty string means the document is attached to the Normal template. To get or set the actual name of the attached template, use the property. Gets or sets the thumbnail of the document. For now this property is used only when a document is being exported to ePub, it's not read from and written to other document formats. Image of arbitrary format can be set to this property, but the format is checked during export. is thrown if the image is invalid or its format is unsupported for specific format of document. Only gif, jpeg and png images can be used for ePub publication. Gets or sets the title of the document. Gets or sets the total editing time in minutes. Gets or sets the ContentStatus of the document. Gets or sets the ContentStatus of the document. Represents the version number of the application that created the document. When a document was created by Microsoft Word, then high 16 bit represent the major version and low 16 bit represent the build number. Represents an estimate of the number of words in the document. Aspose.Words updates this property when you call . Specifies document headings and their names. Every heading pair occupies two elements in this array. The first element of the pair is a and specifies the heading name. The second element of the pair is an and specifies the count of document parts for this heading in the property. The total sum of counts for all heading pairs in this property must be equal to the number of elements in the property. Aspose.Words does not update this property. Each string in the array specifies the name of a part in the document. Aspose.Words does not update this property. A collection of custom document properties.

Each object represents a custom property of a container document.

The names of the properties are case-insensitive.

The properties in the collection are sorted alphabetically by name.

Creates a new custom document property. Creates a new custom document property of the PropertyType.String data type. The name of the property. The value of the property. The newly created property object. Creates a new custom document property of the PropertyType.Number data type. The name of the property. The value of the property. The newly created property object. Creates a new custom document property of the PropertyType.DateTime data type. The name of the property. The value of the property. The newly created property object. Creates a new custom document property of the PropertyType.Boolean data type. The name of the property. The value of the property. The newly created property object. Creates a new custom document property of the PropertyType.Float data type. The name of the property. The value of the property. The newly created property object. Represents a custom or built-in document property. Returns the property value as a string formatted according to the current locale.

Converts a boolean property into "Y" or "N". Converts a date property into a short date string. For all other types converts a property using Object.ToString().

Returns the property value as integer. Throws an exception if the property type is not . Returns the property value as double. Throws an exception if the property type is not . Returns the property value as DateTime in UTC.

Throws an exception if the property type is not .

Microsoft Word stores only the date part (no time) for custom date properties.

Returns the property value as bool.

Throws an exception if the property type is not .

Returns the property value as byte array.

Throws an exception if the property type is not .

Returns the name of the property. Cannot be null and cannot be an empty string. Gets or sets the value of the property. Cannot be null. Gets the data type of the property. Base class for and collections.

The names of the properties are case-insensitive.

The properties in the collection are sorted alphabetically by name.

Returns an enumerator object that can be used to iterate over all items in the collection. Returns true if a property with the specified name exists in the collection. The case-insensitive name of the property. True if the property exists in the collection; false otherwise. Gets the index of a property by name. The case-insensitive name of the property. The zero based index. Negative value if not found. Removes a property with the specified name from the collection. The case-insensitive name of the property. Removes a property at the specified index. The zero based index. Removes all properties from the collection. Gets number of items in the collection. Provides access to the collection items. Returns a object by the name of the property.

Returns null if a property with the specified name is not found.

The case-insensitive name of the property to retrieve.
Returns a object by index. Zero-based index of the to retrieve.

The Aspose.Words.Properties namespace provides classes to work with custom and built-in document properties such as title, keywords, company etc.

Specifies data type of a document property. The property is a boolean value. The property is a date time value. The property is a floating number. The property is an integer number. The property is a string value. The property is an array of strings. The property is an array of objects. The property is an array of bytes. The property is some other type. Specifies the behavior that shall be applied to the contents of the building block when it is inserted into the main document. Corresponds to the ST_DocPartBehavior type in OOXML. Specifies that the building block shall be inserted as inline content. Specifies that the building block shall be inserted into its own paragraph. Specifies that the building block shall be added into its own page. Same as . A collection of objects in the document. You do not create instances of this class directly. To access a collection of building blocks use the property. Copies all building blocks from the collection to a new array of building blocks. An array of building blocks. Specifies the predefined gallery into which a building block is classified. Corresponds to the ST_DocPartGallery type in OOXML. Specifies that this glossary document entry shall be associated with all possible gallery classification values. Same as . Specifies a building block type. The type might affect the visibility and behavior of the building block in Microsoft Word. Corresponds to the ST_DocPartType type in OOXML. No type information is specified for the building block. Allows the building block to be automatically inserted into the document whenever its name is entered into an application. The building block is a structured document tag placeholder text. The building block is a form field help text. The building block is a normal (i.e. regular) glossary document entry. The building block is associated with the spelling and grammar tools. The building block is an AutoText entry. The building block is associated with all types. Save as .

The Aspose.Words.BuildingBlocks namespace provides classes that allow to access and use AutoText, AutoCorrect entries and Building Blocks in a document.

Implement this interface if you want to control how Aspose.Words loads external resource when importing a document from HTML or MHTML. Called when Aspose.Words loads any external resource. The Aspose.Words.Loading namespace provides classes and enumerations that allow to specify additional options when loading documents. Specifies the mode of resource loading. Aspose.Words will load this resource as usual. Aspose.Words will skip loading of this resource. Only link without data will be stored for an image. Css style sheet will be ignored. Aspose.Words will use byte array provided by user in as resource data. Provides data for the method. Sets user provided data of the resource which is used if returns . Type of resource. URI of the resource which is used for downloading if returns . Initially it's set to absolute URI of the resource, but user can redefine it to any value. Original URI of the resource as specified in imported document. Type of loaded resource. Image. Css style sheet. Document. Allows to configure document hyphenation options. Gets or sets value determining whether automatic hyphenation is turned on for the document. Default value for this property is false. Gets or sets the maximum number of consecutive lines that can end with hyphens. Default value for this property is 0.

If value of this property is set to 0, any number of consecutive lines can end with hyphens.

The property does not have effect when saving to fixed page formats e.g. PDF.

Gets or sets the distance in 1/20 of a point from the right margin within which you do not want to hyphenate words. Default value for this property is 360 (0.25 inch). MS Word does not hyphenate words starting inside the hyphenation zone. A smaller zone reduces the raggedness of the right margin, but more words may require hyphens. A larger zone increases the raggedness of the right margin, but fewer words may require hyphens. Gets or sets value determining whether words written in all capital letters are hyphenated. Default value for this property is true. Specifies names of compatibility options. Allows Aspose.Wods to mimic MS Word version-specific application behavior. Optimize Aspose.Words behavior to match MS Word 2000 version. Optimize Aspose.Words behavior to match MS Word 2002 version. Optimize Aspose.Words behavior to match MS Word 2003 version. Optimize Aspose.Words behavior to match MS Word 2007 version. Optimize Aspose.Words behavior to match MS Word 2010 version. Optimize Aspose.Words behavior to match MS Word 2013 version. Optimize Aspose.Words behavior to match MS Word 2016 version. Specifies how document is printed out. Normal printing, no multiple pages specified. Swaps left and right margins on facing pages. Prints two pages per sheet. Specifies whether to print the document as a book fold. Specifies whether to print the document as a reverse book fold. Default value is Specifies how Microsoft Word will report errors detected during mail merge. Simulate the merge and report errors in a new document. Complete the merge and pause to report errors. Complete the merge and report errors in a new document. Equals to the value.

The Aspose.Words.Settings namespace contains classes and enums that are used when specifying various settings and options stored in a document. These are mail merge, write protection, compatibility and other settings.

Specifies the type of the external data source to be connected to as part of the ODSO connection information. The OOXML specification is very vague for this enum. I guess it might correspond to the WdMergeSubType enumeration http://msdn.microsoft.com/en-us/library/bb237801.aspx. Do not renumber these. Specifies that a given document has been connected to a text file. Possibly wdMergeSubTypeOther. Specifies that a given document has been connected to a database. Possibly wdMergeSubTypeAccess. Specifies that a given document has been connected to an address book of contacts. Possibly wdMergeSubTypeOAL. Specifies that a given document has been connected to another document format supported by the producing application. Possibly wdMergeSubTypeOLEDBWord. Specifies that a given document has been connected to another document format supported by the producing application. Possibly wdMergeSubTypeWorks. Specifies that a given document has been connected to another document format native to the producing application. Possibly wdMergeSubTypeOLEDBText Specifies that a given document has been connected to an e-mail application. Possibly wdMergeSubTypeOutlook. The type of the external data source is not specified. Possibly wdMergeSubTypeWord. Specifies that a given document has been connected to a legacy document format supported by the producing application Possibly wdMergeSubTypeWord2000. Specifies that a given document has been connected to a data source which aggregates other data sources. Equals to . Specifies how a column in the external data source shall be mapped to the predefined merge fields within the document. Microsoft Word provides some predefined merge field names that it allows to insert into a document as MERGEFIELD or use in the ADDRESSBLOCK or GREETINGLINE fields. The information specified in allows to map one column in the external data source to a single predefined merge field. Returns a deep clone of this object. Specifies the zero-based index of the column within an external data source which shall be mapped to the local name of a specific MERGEFIELD field. The default value is 0. Specifies the predefined merge field name which shall be mapped to the column number specified by the property within this field mapping. The default value is an empty string. Specifies the column name within an external data source for the column whose index is specified by the property. The default value is an empty string. Specifies if a given mail merge field has been mapped to a column in the given external data source or not. The default value is . A typed collection of the objects. Returns an enumerator object that can be used to iterate over all items in the collection. Adds an object to the end of this collection. The object to add. Cannot be null. Removes all elements from this collection. Removes the element at the specified index. The zero-based index of the element. Gets the number of elements contained in the collection. Gets or sets an item in this collection. Specifies the possible types used to indicate if a given mail merge field has been mapped to a column in the given external data source. Specifies that the mail merge field has been mapped to a column in the given external data source. Specifies that the mail merge field has not been mapped to a column in the given external data source. Equals to . Specifies the Office Data Source Object (ODSO) settings for a mail merge data source. ODSO seems to be the "new" way the newer Microsoft Word versions prefer to use when specifying certain types of data sources for a mail merge document. ODSO probably first appeared in Microsoft Word 2000. The use of ODSO is poorly documented and the best way to learn how to use the properies of this object is to create a document with a desired data source manually in Microsoft Word and then open that document using Aspose.Words and examine the properties of the and objects. This is a good approach to take if you want to learn how to programmatically configure a data source, for example. You do not normally need to create objects of this class directly because ODSO settings are always available via the property. Returns a deep clone of this object. Specifies the character which shall be interpreted as the column delimiter used to separate columns within external data sources. The default value is 0 which means there is no column delimiter defined. RK I have never seen this in use. Specifies that a hosting application shall treat the first row of data in the specified external data source as a header row containing the names of each column in the data source. The default value is false. RK I have never seen this in use. Specifies the location of the external data source to be connected to a document to perform the mail merge. The default value is an empty string. Specifies the particular set of data that a source shall be connected to within an external data source. The default value is an empty string. Specifies the type of the external data source to be connected to as part of the ODSO connection information for this mail merge. The default value is . This setting is purely a suggestion of the data source type that is being used for this mail merge. Specifies the Universal Data Link (UDL) connection string used to connect to an external data source. The default value is an empty string. Gets or sets a collection of objects that specify how columns from the external data source are mapped to the predefined merge field names in the document. This object is never null. Gets or sets a collection of objects that specify inclusion/exclusion of individual records in the mail merge. This object is never null. Represents information about a single record within an external data source that is to be excluded from the mail merge. If a record shall be merged into a merged document, then no information is needed about that record. However, if a given record shall not be merged into a merged document, then the value of the unique key for that record shall be stored in the property of this object to indicate this exclusion. Returns a deep clone of this object. Specifies whether the record from the data source shall be imported into a document when the mail merge is performed. The default value is true. Specifies the column within the data source that contains unique data for the current record. The default value is 0. Specifies the contents of a given record in the column containing unique data. The default value is null. Represents the hash code for this record. Sometimes Microsoft Word uses of a whole record instead of a value. The default value is 0. A typed collection of Returns an enumerator object that can be used to iterate over all items in the collection. Adds an object to the end of this collection. The object to add. Cannot be null. Removes all elements from this collection. Removes the element at the specified index. The zero-based index of the element. Gets the number of elements contained in the collection. Gets or sets an item in this collection. Contains compatibility options (that is, the user preferences entered on the Compatibility tab of the Options dialog in Microsoft Word). Allows to optimize the document contents as well as default Aspose.Words behavior to a particular versions of MS Word. Use this method to prevent MS Word from displaying "Compatibility mode" ribbon upon document loading. (Note that you may also need to set the property to or higher.) Do Not Create Custom Tab Stop for Hanging Indent. Do Not Increase Line Height for Raised/Lowered Text. Do Not Use Space Before On First Line After a Page Break. Line Wrap Trailing Spaces. Print Colors as Black And White without Dithering. Do Not Balance Text Columns within a Section. Treat Backslash Quotation Delimiter as Two Quotation Marks. Ignore Minimum and Exact Line Height for First Line on Page. Use Simplified Rules For Table Border Conflicts. Specifies not to blank the area behind metafile pictures. Display Page/Column Breaks Present in Frames. Swap Paragraph Borders on Odd Numbered Pages. Convert Backslash To Yen Sign When Entered. Don't Justify Lines Ending in Soft Line Break. Underline All Trailing Spaces. Balance Single Byte and Double Byte Characters. Ignore Minimum Line Height for First Line on Page. Only Expand/Condense Text By Whole Points. Print Body Text before Header/Footer Contents. Do Not Add Leading Between Lines of Text. Add Additional Space Below Baseline For Underlined East Asian Text. Emulate Word 5.x for the Macintosh Small Caps Formatting. Emulate WordPerfect 5.x Line Spacing. Emulate WordPerfect 6.x Font Height Calculation. Increase Priority Of Font Size During Font Substitution. Emulate Word 6.0 Line Wrapping for East Asian Text. Do Not Suppress Paragraph Borders Next To Frames. Do Not Center Content on Lines With Exact Line Height. Ignore Exact Line Height for Last Line on Page. Specifies whether to set the width of a space as is done in WordPerfect 5.x. Emulate WordPerfect 6.x Paragraph Justification. Use Printer Metrics To Display Documents. Emulate Word 97 Text Wrapping Around Floating Objects. Emulate Word 6.x/95/97 Footnote Placement. Use Fixed Paragraph Spacing for HTML Auto Setting. Add Document Grid Line Pitch To Lines in Table Cells. Ignore Width of Last Tab Stop When Aligning Paragraph If It Is Not Left Aligned. Emulate Word 95 Full-Width Character Spacing. Align Table Rows Independently. Ignore Space Before Table When Deciding If Table Should Wrap Floating Object. Allow Table Rows to Wrap Inline Objects Independently. Emulate Word 97 East Asian Line Breaking. Do Not Allow Floating Tables To Break Across Pages. Do Not Snap to Document Grid in Table Cells with Objects. Select Field When First or Last Character Is Selected. Use Legacy Ethiopic and Amharic Line Breaking Rules. Do Not Allow Hanging Punctuation With Character Grid. Do Not Compress Compressible Characters When Using Document Grid. Emulate Word 2002 Table Style Rules. Allow Tables to AutoFit Into Page Margins. Do Not Automatically Apply List Paragraph Style To Bulleted/Numbered Text. Ignore Hanging Indent When Creating Tab Stop After Numbering. Use Alternate Set of East Asian Line Breaking Rules. Allow Contextual Spacing of Paragraphs in Tables. Do Not Ignore Floating Objects When Calculating Paragraph Indentation. Do Not AutoFit Tables To Fit Next To Wrapped Objects. Allow Table Columns To Exceed Preferred Widths of Constituent Cells. The option is called "Use Word 2003 table autofit rules" in MS Word 2013 user interface. It actually affects how the grid is calculated for fixed layout tables, too (for some cases). Underline Following Character Following Numbering. Always Use Fixed Width for Hangul Characters. Always Move Paragraph Mark to Page after a Page Break. Don't Vertically Align Cells Containing Floating Objects. Don't Break Table Rows Around Floating Tables. Ignore Vertical Alignment in Textboxes. Use ANSI Kerning Pairs from Fonts. Use Cached Paragraph Information for Column Balancing. Do Not Bypass East Asian/Complex Script Layout Code. Specifies how the style hierarchy of the document is evaluated. True to disable UI functionality which is not compatible with Word97-2003. Default value is false. Controls the Word97-2003 compatibility setting that disables UI functionality which is not compatible with Word97-2003. When true, 'w:uiCompat97To2003' XML element is written to '\word\settings.xml' document package part. Default value is false. When set to false, this element is not written. Technically this property is not part of compatibility options, but we have put it here for API convenience. Specifies the type of an external mail merge data source. Do not renumber these values as they are used in the DOC codec. No mail merge data source is specified. Specifies that a given document has been connected to a text file via the Dynamic Data Exchange (DDE) system. Specifies that a given document has been connected to an Access database via the Dynamic Data Exchange (DDE) system. Specifies that a given document has been connected to an Excel spreadsheet via the Dynamic Data Exchange (DDE) system. Specifies that a given document has been connected to an external data source using an external query tool. Specifies that a given document has been connected to an external data source via the Open Database Connectivity interface. Specifies that a given document has been connected to an external data source via the Office Data Source Object (ODSO) interface. Equals to . Specifies the possible results which may be generated when a mail merge is carried out on a document. Do not renumber these as they values are used in the DOC codec. Specifies that conforming hosting applications shall generate new documents by populating the fields within a given document with data from the specified external data source. Specifies that conforming hosting applications shall print the documents that result from populating the fields within a given document with external data from the specified external data source. Specifies that conforming hosting applications shall generate emails using the documents that result from populating the fields within a given document with data from the specified external data source. Specifies that conforming hosting applications shall generate faxes using the documents that result from populating the fields within a given document with data from the specified external data source. Equals to the value. Specifies the possible types for a mail merge source document. Do not renumber these because the values are used in the DOC codec. This document is not a mail merge document. Specifies that the mail merge source document is of the form letter type. Specifies that the mail merge source document is of the mailing label type. Specifies that the mail merge source document is of the envelope type. Specifies that the mail merge source document is of the catalog type. Specifies that the mail merge source document is of the e-mail message type. Specifies that the mail merge source document is of the fax type. Equals to Specifies all of the mail merge information for a document. You can use this object to specify a mail merge data source for a document and this information (along with the available data fields) will appear in Microsoft Word when the user opens this document. Or you can use this object to query mail merge settings that the user has specified in Microsoft Word for this document. You do not normally need to create objects of this class directly because Mail merge settings of a document are always available via the property. To detect whether this document is a mail merge main document, check the value of the property. To remove mail merge settings and data source information from a document you can use the method. Aspose.Words will not write mail merge settings to a document if the property is set to or the property is set to . The best way to learn how to use the properties of this object is to create a document with a desired data source manually in Microsoft Word and then open that document using Aspose.Words and examine the properties of the and objects. This is a good approach to take if you want to learn how to programmatically configure a data source, for example. Aspose.Words preserves mail merge information when loading, saving and converting documents between different formats, but does not use this information when performing its own mail merge using the object. Clears the mail merge settings in such a way that when the document is saved, no mail merge settings will be saved and it will become a normal document. Returns a deep clone of this object. Specifies the one-based index of the record from the data source which shall be displayed in Microsoft Word. The default value is 1. Specifies the column within the data source that contains e-mail addresses. The default value is an empty string. Specifies the type of error reporting which shall be conducted by Microsoft Word when performing a mail merge. The default value is . Specifies the connection string used to connect to an external data source. The default value is an empty string. Specifies the path to the mail-merge data source. The default value is an empty string. Specifies the type of the mail-merge data source and the method of data access. The default value is . Specifies how Microsoft Word will output the results of a mail merge. The default value is . Specifies how an application performing the mail merge shall handle blank lines in the merged documents resulting from the mail merge. The default value is false. Specifies the path to the mail-merge header source. The default value is an empty string. Not sure about this one. The Microsoft Word Automation Reference suggests that this specifies that the query is executed every time the document is opened in Microsoft Word. But the OOXML specification suggests that this specifies that the query contains a reference to an external query file which contains the actual query. The default value is false. Specifies that the documents produced during a mail merge operation should be emailed as an attachment rather than the body of the actual e-mail. The default value is false. Specifies the text which shall appear in the subject line of the e-mails or faxes produced during mail merge. The default value is an empty string. Specifies the mail-merge main document type. The default value is . The main document is the document that contains information that is the same for each version of the merged document. Gets or sets the object that specifies the Office Data Source Object (ODSO) settings. This object is never null. Contains the Structured Query Language string that shall be run against the specified external data source to return the set of records which shall be imported into the document when the mail merge operation is performed. The default value is an empty string. Specifies that Microsoft Word shall display the data from the specified external data source where merge fields have been inserted (e.g. preview merged data). The default value is false. Specifies write protection settings for a document. Write protection specifies whether the author has recommended that the document is to be opened as read-only and/or require a password to modify a document. Write protection is different from document protection. Write protection is specified in Microsoft Word in the options of the Save As dialog box. You do not create instances of this class directly. You access document protection settings via the property. Sets the write protection password for the document. If a password is set, Microsoft Word will require the user to enter it or open the document as read-only. The password to set. Cannot be null, but can be an empty string. Returns true if the specified password is the same as the write-protection password the document was protected with. If document is not write-protected with password then returns false. Specifies whether the document author has recommended that the document be opened as read-only. Returns true when a write protection password is set. Provides various options that control how a document is shown in Microsoft Word. Controls the view mode in Microsoft Word.

Although Aspose.Words is able to read and write this option, its usage is application-specific. For example MS Word 2013 does not respect the value of this option.

Gets or sets a zoom value based on the size of the window. Gets or sets the percentage (between 10 and 500) at which you want to view your document.

If value is 0 then this property uses 100 instead, else if value is less than 10 or greater than 500 this property throws.

Although Aspose.Words is able to read and write this option, its usage is application-specific. For example MS Word 2013 does not respect the value of this option.

Turns off display of the space between the top of the text and the top edge of the page. Controls display of the background shape in print layout view. Specifies whether the document is in forms design mode.

Currently works only for documents in WordML format.

Possible values for the view mode in Microsoft Word. The document shall be rendered in the default view of the application. The document shall be rendered in the default view of the application. The document shall be opened in a view that displays the document as it will print. The document shall be rendered in a view optimized for outlining or creating long documents. The document shall be rendered in a view optimized for outlining or creating long documents. The document shall be rendered in a view mimicking the way this document would be displayed in a web page. Possible values for how large or small the document appears on the screen in Microsoft Word. Zoom percentage is set explicitly. It is not recalculated automatically when control size changes. Indicates to use the explicit zoom percentage. Same as . Zoom percentage is automatically recalculated to fit one full page. Zoom percentage is automatically recalculated to fit page width. Zoom percentage is automatically recalculated to fit text. Contains information about a mail merge region. Returns a list of child regions. Returns a list of child fields. Returns the name of region. Returns a start field for the region. Returns an end field for the region. Returns the nesting level for the region. Implement this interface if you want to receive notifications while mail merge is performed. Called when "mustache" text tags are replaced with MERGEFIELD fields. Specifies how to handle Right-To-Left attributes of mail merge result text runs. Preserves any Right-To-Left attributes of mail merge result text runs from being removed. This is the default Aspose.Word behavior, compatible with early versions. Forces any Right-To-Left attributes of mail merge result text runs to be removed. This seems to be the default MS Word behavior. Forces Right-To-Left attributes of mail merge result text runs to be removed in case when text contents of these runs contain no Right-To-Left characters. Specifies options that determine what items are removed during mail merge. Specifies a default value. Specifies whether paragraphs that contained mail merge fields with no data should be removed from the document. When this option is set, paragraphs which contain region start and end merge fields which are otherwise empty are also removed. Specifies whether unused mail merge regions should be removed from the document. This option applies only to mail merge with regions. Specifies whether unused merge fields should be removed from the document. Specifies whether fields that contain merge fields (for example, IFs) should be removed from the document if the nested merge fields are removed. Specifies whether static fields should be removed from the document. Static fields are fields, which results remain the same upon any document change. Fields, which do not store their results in a document and are calculated on the fly (like , , etc.) are not considered to be static. Here is the full list of field types, which are not considered to be static: Specifies whether empty rows that contain mail merge regions should be removed from the document. This option applies only to mail merge with regions. Implement this interface to allow mail merge from a custom data source with master-detail data. The Aspose.Words mail merge engine invokes this method when it encounters a beginning of a top-level mail merge region. When the Aspose.Words mail merge engines populates a document with data and encounters MERGEFIELD TableStart:TableName, it invokes on this object. Your implementation needs to return a new data source object. Aspose.Words will use the returned data source to populate the mail merge region. If a data source (table) with the specified name does not exist, your implementation should return null. The name of the mail merge region as specified in the template document. Case-insensitive. A data source object that will provide access to the data records of the specified table. Implement this interface to allow mail merge from a custom data source, such as a list of objects. Master-detail data is also supported. When a data source is created, it should be initialized to point to BOF (before the first record). The Aspose.Words mail merge engine will invoke to advance to next record and then invoke for every merge field it encounters in the document or the current mail merge region. Advances to the next record in the data source. True if moved to next record successfully. False if reached end of the data source. Returns a value for the specified field name or false if the field is not found. The name of the data field. Returns the field value. true if value was found. The Aspose.Words mail merge engine invokes this method when it encounters a beginning of a nested mail merge region. When the Aspose.Words mail merge engines populates a mail merge region with data and encounters the beginning of a nested mail merge region in the form of MERGEFIELD TableStart:TableName, it invokes on the current data source object. Your implementation needs to return a new data source object that will provide access to the child records of the current parent record. Aspose.Words will use the returned data source to populate the nested mail merge region. Below are the rules that the implementation of must follow. If the table that is represented by this data source object has a related child (detail) table with the specified name, then your implementation needs to return a new object that will provide access to the child records of the current record. An example of this is Orders / OrderDetails relationship. Let's assume that the current object represents the Orders table and it has a current order record. Next, Aspose.Words encounters "MERGEFIELD TableStart:OrderDetails" in the document and invokes . You need to create and return a object that will allow Aspose.Words to access the OrderDetails record for the current order. If this data source object does not have a relation to the table with the specified name, then you need to return a object that will provide access to all records of the specified table. If a table with the specified name does not exist, your implementation should return null. The name of the mail merge region as specified in the template document. Case-insensitive. A data source object that will provide access to the data records of the specified table. Returns the name of the data source.

If you are implementing , return the name of the data source from this property.

Aspose.Words uses this name to match against the mail merge region name specified in the template document. The comparison between the data source name and the mail merge region name is not case sensitive.

The name of the data source. Empty string if the data source has no name.
Represents the mail merge functionality.

For mail merge operation to work, the document should contain Word MERGEFIELD and optionally NEXT fields. During mail merge operation, merge fields in the document are replaced with values from your data source.

There are two distinct ways to use mail merge: with mail merge regions and without.

The simplest mail merge is without regions and it is very similar to how mail merge works in Word. Use Execute methods to merge information from some data source such as DataTable, DataSet, DataView, IDataReader or an array of objects into your document. The MailMerge object processes all records of the data source and copies and appends content of the whole document for each record.

Note that when MailMerge object encounters a NEXT field, it selects next record in the data source and continues merging without copying any content.

Use ExecuteWithRegions methods to merge information into a document with mail merge regions defined. You can use DataSet, DataTable, DataView or IDataReader as data sources for this operation.

You need to use mail merge regions if you want to dynamically grow portions inside the document. Without mail merge regions whole document will be repeated for every record of the data source.

Performs a mail merge from a custom data source.

Use this method to fill mail merge fields in the document with values from any data source such as a list or hashtable or objects. You need to write your own class that implements the interface.

You can use this method only when is false, that is you do not need Right-To-Left language (such as Arabic or Hebrew) compatibility.

This method ignores the option.

An object that implements the custom mail merge data source interface.
Performs a mail merge from a custom data source.

Use this method to fill mail merge fields in the document with values from any data source such as a list or hashtable or objects. You need to write your own class that implements the interface.

You should use this method when is true, that is when you need Right-To-Left language (such as Arabic or Hebrew) compatibility. There are no other benefits from using of instead of .

This method ignores the option.

An object that implements the custom mail merge data source interface.
Performs a mail merge operation. Performs a mail merge operation for a single record.

Use this method to fill mail merge fields in the document with values from an array of objects.

This method merges data for one record only. The array of field names and the array of values represent the data of a single record.

This method does not use mail merge regions.

This method ignores the option.

Array of merge field names. Field names are not case sensitive. If a field name that is not found in the document is encountered, it is ignored. Array of values to be inserted into the merge fields. Number of elements in this array must be the same as the number of elements in fieldNames.
Performs mail merge from a DataTable into the document.

Use this method to fill mail merge fields in the document with values from a DataTable.

All records from the table are merged into the document.

You can use NEXT field in the Word document to cause MailMerge object to select next record from the DataTable and continue merging. This can be used when creating documents such as mailing labels.

When MailMerge object reaches end of the main document and there are still more rows in the DataTable, it copies entire content of the main document and appends it to the end of the destination document using a section break as a separator.

This method ignores the option.

Table that contains data to be inserted into mail merge fields. Field names are not case sensitive. If a field name that is not found in the document is encountered, it is ignored.
Performs mail merge from IDataReader into the document.

You can pass SqlDataReader or OleDbDataReader object into this method as a parameter because they both implemented IDataReader interface.

Note this method does not use mail merge regions and for multiple records the document will grow by repeating the whole document.

This method ignores the option.

Data source for the mail merge operation.
Performs mail merge from a DataView into the document.

This method is useful if you retrieve data into a DataTable but then need to apply a filter or sort before the mail merge.

Note this method does not use mail merge regions and for multiple records the document will grow by repeating the whole document.

This method ignores the option.

Data source for the mail merge operation.
Performs mail merge from a DataRow into the document.

Use this method to fill mail merge fields in the document with values from a DataRow.

This method ignores the option.

Row that contains data to be inserted into mail merge fields. Field names are not case sensitive. If a field name that is not found in the document is encountered, it is ignored.
Performs a mail merge from a custom data source with mail merge regions.

Use this method to fill mail merge fields in the document with values from any custom data source such as an XML file or collections of business objects. You need to write your own class that implements the interface.

You can use this method only when is false, that is you do not need Right-To-Left language (such as Arabic or Hebrew) compatibility.

An object that implements the custom mail merge data source interface.
Performs a mail merge from a custom data source with mail merge regions.

Use this method to fill mail merge fields in the document with values from any custom data source such as an XML file or collections of business objects. You need to write your own class that implements the interface.

You should use this method when is true, that is when you need Right-To-Left language (such as Arabic or Hebrew) compatibility. There are no other benefits from using of instead of .

An object that implements the custom mail merge data source interface.
Performs a mail merge from a custom data source with mail merge regions.

Use this method to fill mail merge fields in the document with values from any custom data source such as an XML file or collections of business objects. You need to write your own classes that implement the and interfaces.

You can use this method only when is false, that is you do not need Right-To-Left language (such as Arabic or Hebrew) compatibility.

An object that implements the custom mail merge data source root interface.
Performs a mail merge from a custom data source with mail merge regions.

Use this method to fill mail merge fields in the document with values from any custom data source such as an XML file or collections of business objects. You need to write your own classes that implement the and interfaces.

You should use this method when is true, that is when you need Right-To-Left language (such as Arabic or Hebrew) compatibility. There are no other benefits from using of instead of .

An object that implements the custom mail merge data source root interface.
Performs a mail merge operation into a document with mail merge regions. Supports parent-child (master-detail) data sources and nested mail merge regions. Performs mail merge from a DataSet into a document with mail merge regions.

Use this method to perform mail merge from one or more tables into repeatable mail merge regions in the document. The mail merge regions inside the document will dynamically grow to accommodate records in the corresponding tables.

Every table in the DataSet must have a name.

The document must have mail merge regions defined with names that refer to the tables in the DataSet.

To specify a mail merge region in the document you need to insert two mail merge fields to mark beginning and end of the mail merge region.

All document content that is included inside a mail merge region will be automatically repeated for every record in the DataTable.

To mark beginning of a mail merge region insert a MERGEFIELD with name TableStart:MyTable, where MyTable corresponds to one of the table names in your DataSet.

To mark the end of the mail merge region insert another MERGEFIELD with name TableEnd:MyTable.

To insert a MERGEFIELD in Word use Insert/Field command and select MergeField then type the name of the field.

The TableStart and TableEnd fields must be inside the same section in your document.

If used inside a table, TableStart and TableEnd must be inside the same row in the table.

Mail merge regions in a document should be well formed (there always needs to be a pair of matching TableStart and TableEnd merge fields with the same table name).

DataSet that contains data to be inserted into mail merge fields.
Performs mail merge from a DataTable into the document with mail merge regions.

The document must have a mail merge region defined with name that matches DataTable.TableName.

If there are other mail merge regions defined in the document they are left intact. This allows to perform several mail merge operations.

Data source for the mail merge operation. The table must have its TableName property set.
Performs mail merge from a DataView into the document with mail merge regions.

This method is useful if you retrieve data into a DataTable but then need to apply a filter or sort before the mail merge.

The document must have a mail merge region defined with name that matches DataView.Table.TableName.

If there are other mail merge regions defined in the document they are left intact. This allows to perform several mail merge operations.

Data source for the mail merge operation. The source table of the DataView must have its TableName property set.
Performs mail merge from IDataReader into the document with mail merge regions.

You can pass SqlDataReader or OleDbDataReader object into this method as a parameter because they both implemented IDataReader interface.

Source of the data records for mail merge such as OleDbDataReader or SqlDataReader. Name of the mail merge region in the document to populate.
Returns a collection of mail merge field names available in the document.

Returns full merge field names including optional prefix. Does not eliminate duplicate field names.

A new string[] array is created on every call.

Includes "mustache" field names if is true.

Get mail merge field names from the region. Returns a collection of mail merge field names available in the region.

Returns full merge field names including optional prefix. Does not eliminate duplicate field names.

If document contains multiple regions with the same name the very first region is processed.

A new string array is created on every call.

Region name (case-insensitive).
Returns a collection of mail merge field names available in the region.

Returns full merge field names including optional prefix. Does not eliminate duplicate field names.

If document contains multiple regions with the same name the Nth region (zero-based) is processed.

A new string array is created on every call.

Region name (case-insensitive). Region index (zero-based).
Returns a collection of mail merge regions with the specified name. Region name (case-insensitive). The list of regions. Returns a collection of mail merge regions with given name (from a list of regions). List of regions to search. Region name (case-insensitive). The list of regions. Returns a full hierarchy of regions (with fields) available in the document.

Hierarchy is returned in the form of the class.

Regions' hierarchy.
Removes mail merge related fields from the document.

This method removes MERGEFIELD and NEXT fields from the document.

This method could be useful if your mail merge operation does not always need to populate all fields in the document. Use this method to remove all remaining mail merge fields.

Gets or sets a mail merge region start tag. Gets or sets a mail merge region end tag. Gets or sets a set of flags that specify what items should be removed during mail merge. Gets or sets a value indicating whether paragraphs with punctuation marks are considered as empty and should be removed if the option is specified. The default value is true. Here is the complete list of cleanable punctuation marks: !,.:;?¡¿ When true, specifies that in addition to MERGEFIELD fields, mail merge is performed into some other types of fields and also into "{{fieldName}}" tags.

Normally, mail merge is only performed into MERGEFIELD fields, but several customers had their reporting built using other fields and had many documents created this way. To simplify migration (and because this approach was independently used by several customers) the ability to mail merge into other fields was introduced.

When UseNonMergeFields is set to true, Aspose.Words will perform mail merge into the following fields:

MERGEFIELD FieldName

MACROBUTTON NOMACRO FieldName

IF 0 = 0 "{FieldName}" ""

Also, when UserNonMergeFields is set to true, Aspose.Words will perform mail merge into text tags "{{fieldName}}". These are not fields, but just text tags.

Gets or sets a value indicating whether the unused "mustache" tags should be preserved. The default value is false. Gets or sets a value indicating whether all of the document mail merge regions with the name of a data source should be merged while executing of a mail merge with regions against the data source or just the first one. The default value is false. Gets or sets a value indicating whether fields in whole document is updated while executing of a mail merge with regions. The default value is false. Gets or sets a value indicating whether whole paragraph with TableStart or TableEnd field or particular range between TableStart and TableEnd fields should be included into mail merge region. The default value is true. Returns a collection that represents mapped data fields for the mail merge operation.

Mapped data fields allow to automatically map between names of fields in your data source and names of mail merge fields in the document.

Occurs during mail merge when a mail merge field is encountered in the document. Allows to handle particular events during mail merge. Gets or sets a value indicating whether trailing and leading whitespaces are trimmed from mail merge values. The default value is true. Gets or sets a value indicating whether merge fields and merge regions are merged regardless of the parent IF field's condition. The default value is false. Allows to automatically map between names of fields in your data source and names of mail merge fields in the document.

This is implemented as a collection of string keys into string values. The keys are the names of mail merge fields in the document and the values are the names of fields in your data source.

Returns a dictionary enumerator object that can be used to iterate over all items in the collection. Adds a new field mapping. Case-sensitive name of the mail merge field in the document. Case-sensitive name of the field in the data source. Determines whether a mapping from the specified field in the document exists in the collection. Case-sensitive name of the mail merge field in the document. True if item is found in the collection; otherwise, false. Determines whether a mapping from the specified field in the data source exists in the collection. Case-sensitive name of the field in the data source. True if item is found in the collection; otherwise, false. Removes a field mapping. Case-sensitive name of the mail merge field in the document. Removes all elements from the collection. Gets the number of elements contained in the collection. Gets or sets the name of the field in the data source associated with the specified mail merge field. Provides data for the MergeField event.

The MergeField event occurs during mail merge when a simple mail merge field is encountered in the document. You can respond to this event to return text for the mail merge engine to insert into the document.

Gets or sets the text that will be inserted into the document for the current merge field.

When your event handler is called, this property is set to null.

If you leave Text as null, the mail merge engine will insert in place of the merge field.

If you set Text to any string (including empty), the string will be inserted into the document in place of the merge field.

Base class for and . Returns the object for which the mail merge is performed. Gets the name of the data table for the current merge operation or empty string if the name is not available. Gets the zero based index of the record that is being merged. Gets the name of the merge field in the data source.

If you have a mapping from a document field name to a different data source field name, then this is the mapped field name.

If you specified a field name prefix, for example "Image:MyFieldName" in the document, then FieldName returns field name without the prefix, that is "MyFieldName".

Gets the name of the merge field as specified in the document.

If you have a mapping from a document field name to a different data source field name, then this is the original field name as specified in the document.

If you specified a field name prefix, for example "Image:MyFieldName" in the document, then DocumentFieldName returns field name without the prefix, that is "MyFieldName".

Gets the value of the field from the data source. This property contains a value that has just been selected from your data source for this field by the mail merge engine. Gets the object that represents the current merge field. Implement this interface if you want to control how data is inserted into merge fields during a mail merge operation. Called when the Aspose.Words mail merge engine is about to insert data into a merge field in the document. Called when the Aspose.Words mail merge engine is about to insert an image into a merge field. Provides data for the event.

This event occurs during mail merge when an image mail merge field is encountered in the document. You can respond to this event to return a file name, stream, or an object to the mail merge engine so it is inserted into the document.

There are three properties available , and to specify where the image must be taken from. Set only one of these properties.

To insert an image mail merge field into a document in Word, select Insert/Field command, then select MergeField and type Image:MyFieldName.

Sets the file name of the image that the mail merge engine must insert into the document. Specifies the stream for the mail merge engine to read an image from.

Aspose.Words closes this stream after it merges the image into the document.

Specifies the image that the mail merge engine must insert into the document. Specifies the image width for the image to insert into the document. The value of this property initially comes from the corresponding MERGEFIELD's code, contained in the template document. To override the initial value, you should assign an instance of class to this property or set the properties for the instance of class, returned by this property. To indicate that the original value of the image width should be applied, you should assign the null value to this property or set the property for the instance of class, returned by this property, to a negative value. Specifies the image height for the image to insert into the document. The value of this property initially comes from the corresponding MERGEFIELD's code, contained in the template document. To override the initial value, you should assign an instance of class to this property or set the properties for the instance of class, returned by this property. To indicate that the original value of the image height should be applied, you should assign the null value to this property or set the property for the instance of class, returned by this property, to a negative value.

The Aspose.Words.MailMerging namespace contains classes of the "original" mail merge reporting engine.

This reporting engine requires the document to be marked up with Microsoft Word mail merge fields, but supports more functionality than Microsoft Word's mail merge.

The engine allows to quickly and easily populate a report template with data from various sources such as DataTable, DataSet, DataView, IDataReader or an array of values.

The object which provides access to the reporting functionality is available via the Document.MailMerge property.

For the newer and more advanced reporting engine based on the LINQ method syntax see .

The Aspose.Words.Rendering namespace provides classes that allow to customize printing or rendering of documents. To actually render, print or convert a document use the corresponding methods on the object. Specifies the display format type of the equation. The Office Math is displayed on its own line. The Office Math is displayed inline with the text. Specifies the justification of the equation. Justifies instances of mathematical text to the left with respect to each other, and centers the group of mathematical text (the Math Paragraph) with respect to the page. Centers each instance of mathematical text individually with respect to margins. Left justification of Math Paragraph. Right Justification of Math Paragraph. Inline position of Math. Default value . Specifies type of an Office Math object. Instance of mathematical text. Math paragraph, or display math zone, that contains one or more elements that are in display mode. Accent function, consisting of a base and a combining diacritical mark. Bar function, consisting of a base argument and an overbar or underbar. Border Box object, consisting of a border drawn around an instance of mathematical text (such as a formula or equation) Box object, which is used to group components of an equation or other instance of mathematical text. Delimiter object, consisting of opening and closing delimiters (such as parentheses, braces, brackets, and vertical bars), and an element contained inside. Degree in the mathematical radical. Argument object. Encloses Office Math entities when they are used as arguments to other Office Math entities. Array object, consisting of one or more equations, expressions, or other mathematical text runs that can be vertically justified as a unit with respect to surrounding text on the line. Fraction object, consisting of a numerator and denominator separated by a fraction bar. Denominator of a fraction object. Numerator of the Fraction object. Function-Apply object, which consists of a function name and an argument element acted upon. Name of the function. For example, function names are sin and cos. Group-Character object, consisting of a character drawn above or below text, often with the purpose of visually grouping items Lower limit of the object and the upper limit of the function. Lower-Limit object, consisting of text on the baseline and reduced-size text immediately below it. Upper-Limit object, consisting of text on the baseline and reduced-size text immediately above it. Matrix object, consisting of one or more elements laid out in one or more rows and one or more columns. Single row of the matrix. N-ary object, consisting of an n-ary object, a base (or operand), and optional upper and lower limits. Phantom object. Radical object, consisting of a radical, a base element, and an optional degree . Subscript of the object that can have subscript part. Superscript of the superscript object. Pre-Sub-Superscript object, which consists of a base element and a subscript and superscript placed to the left of the base. Subscript object, which consists of a base element and a reduced-size script placed below and to the right. Sub-superscript object, which consists of a base element, a reduced-size script placed below and to the right, and a reduced-size script placed above and to the right. Superscript object, which consists of a base element and a reduced-size script placed above and to the right.

The Aspose.Words.Math namespace contains classes that represent Office Math elements.

A collection of strings that represent XML schemas that are associated with a custom XML part. You do not create instances of this class. You access the collection of XML schemas of a custom XML part via the property. Returns an enumerator object that can be used to iterate over all items in the collection. Adds an item to the collection. The item to add. Returns the zero-based index of the specified value in the collection. The case-sensitive value to locate. The zero based index. Negative value if not found. Removes the specified value from the collection. The case-sensitive value to remove. Removes a value at the specified index. The zero based index. Removes all elements from the collection. Makes a deep clone of this object. Gets the number of elements contained in the collection. Gets or sets the element at the specified index. Specifies how the date for a date SDT is stored/retrieved when the SDT is bound to an XML node in the document's data store. The date value for a date SDT is stored as a date in the standard XML Schema Date format. The date value for a date SDT is stored as a date in the standard XML Schema DateTime format. The date value for a date SDT is stored as text. Defaults to Provides access to elements of a structured document tag. Returns an enumerator object that can be used to iterate over all items in the collection. Adds an item to this collection. Removes a list item at the specified index. The zero-based index of the item to remove. Clears all items from this collection. Specifies currently selected value in this list. Null value allowed, meaning that no currently selected entry is associated with this list item collection. Returns a object given its zero-based index in the collection. Gets number of items in the collection. Specifies the possible types of calendars which can be used to specify in an Office Open XML document. Used as default value in OOXML. Equals . Specifies that the Gregorian calendar, as defined in ISO 8601, shall be used. This calendar should be localized into the appropriate language. Specifies that the Gregorian calendar, as defined in ISO 8601, shall be used. The values for this calendar should be presented in Arabic. Specifies that the Gregorian calendar, as defined in ISO 8601, shall be used. The values for this calendar should be presented in Middle East French. Specifies that the Gregorian calendar, as defined in ISO 8601, shall be used. The values for this calendar should be presented in English. Specifies that the Gregorian calendar, as defined in ISO 8601, shall be used. The values for this calendar should be the representation of the English strings in the corresponding Arabic characters (the Arabic transliteration of the English for the Gregorian calendar). Specifies that the Gregorian calendar, as defined in ISO 8601, shall be used. The values for this calendar should be the representation of the French strings in the corresponding Arabic characters (the Arabic transliteration of the French for the Gregorian calendar). Specifies that the Hebrew lunar calendar, as described by the Gauss formula for Passover [CITATION] and The Complete Restatement of Oral Law (Mishneh Torah),shall be used. Specifies that the Hijri lunar calendar, as described by the Kingdom of Saudi Arabia, Ministry of Islamic Affairs, Endowments, Da‘wah and Guidance, shall be used. Specifies that the Japanese Emperor Era calendar, as described by Japanese Industrial Standard JIS X 0301, shall be used. Specifies that the Korean Tangun Era calendar, as described by Korean Law Enactment No. 4, shall be used. Specifies that no calendar should be used. Usually in AW, None is the first and default value for enums, but not in this case. None is not default for OOXML, instead is default and is first member of this enum. Specifies that the Saka Era calendar, as described by the Calendar Reform Committee of India, as part of the Indian Ephemeris and Nautical Almanac, shall be used. Specifies that the Taiwanese calendar, as defined by the Chinese National Standard CNS 7648, shall be used. Specifies that the Thai calendar, as defined by the Royal Decree of H.M. King Vajiravudh (Rama VI) in Royal Gazette B. E. 2456 (1913 A.D.) and by the decree of Prime Minister Phibunsongkhram (1941 A.D.) to start the year on the Gregorian January 1 and to map year zero to Gregorian year 543 B.C., shall be used. This element specifies a single list item within a parent or structured document tag. Initializes a new instance of this class. Initializes a new instance of this class. Gets the text to display in the run content in place of the attribute contents for this list item. Cannot be null and cannot be an empty string. Gets the value of this list item. Cannot be null and cannot be an empty string. Specifies the information that is used to establish a mapping between the parent structured document tag and an XML element stored within a custom XML data part in the document. Sets a mapping between the parent structured document tag and an XML node of a custom XML data part. A custom XML data part to map to. An XPath expression to find the XML node. XML namespace prefix mappings to evaluate the XPath. A flag indicating whether the parent structured document tag is successfully mapped to the XML node. Deletes mapping of the parent structured document to XML data. Sets a mapping between the parent structured document tag and an XML node of a custom XML data part. Identifier of a store item: either a custom XML data part or a storage of document properties. An XPath expression to find the XML node. XML namespace prefix mappings to evaluate the XPath. Returns XML namespace prefix mappings to evaluate the . Specifies the set of prefix mappings, which shall be used to interpret the XPath expression when the XPath expression is evaluated against the custom XML data parts in the document. Returns the XPath expression, which is evaluated to find the custom XML node that is mapped to the parent structured document tag. Returns the custom XML data part to which the parent structured document tag is mapped. Returns true if the parent structured document tag is successfully mapped to XML data. Specifies the custom XML data identifier for the custom XML data part which shall be used to evaluate the expression. Specifies the type of a structured document tag (SDT) node. No type is assigned to the SDT. The SDT represents a bibliography entry. The SDT represents a citation. The SDT represents an equation. The SDT represents a drop down list when displayed in the document. The SDT represents a combo box when displayed in the document. The SDT represents a date picker when displayed in the document. The SDT represents a building block gallery type. The SDT represents a document part type. The SDT represents a restricted grouping when displayed in the document. The SDT represents a picture when displayed in the document. The SDT represents a rich text box when displayed in the document. The SDT represents a plain text box when displayed in the document. The SDT represents a checkbox when displayed in the document. This is MS-specific feature available since Office 2010 and not supported by the ISO/IEC 29500 OOXML standard. The SDT represents repeating section type when displayed in the document. This is MS-specific feature available since Office 2013 and not supported by the ISO/IEC 29500 OOXML standard. The SDT represents an entity picker that allows the user to select an instance of an external content type. This is MS-specific feature available since Office 2010 and not supported by the ISO/IEC 29500 OOXML standard. §2.6.1.15 entityPicker [MS-DOCX]. Some additional information about entity pickers can be taken from the chapter USING EXTERNAL DATA IN WORD of Scot Hillier, Brad Stevenson. Professional Business Connectivity Services in SharePoint 2010. Represents a custom (arbitrary content) part, that is not defined by the ISO/IEC 29500 standard. This class represents an OOXML part that is a target of an "unknown relationship". All relationships not defined within ISO/IEC 29500 are considered "unknown relationships". Unknown relationships are permitted within an Office Open XML document provided that they conform to relationship markup guidelines. Microsoft Word preserves custom parts during open/save cycles. Some additional info can be found here http://blogs.msdn.com/dmahugh/archive/2006/11/25/arbitrary-content-in-an-opc-package.aspx Aspose.Words also roundtrips custom parts and in addition, allows to programmatically access such parts via the and objects. Do not confuse custom parts with Custom XML Data. Use if you need to access Custom XML Data. Makes a "deep enough" copy of the object. Does not duplicate the bytes of the value. Gets or sets this part's absolute name within the OOXML package or the target URL. If the relationship target is internal, then this property is the absolute part name within the package. If the relationship target is external, then this property is the target URL. The default value is an empty string. A valid value must be a non-empty string. Gets or sets the relationship type from the parent part to this custom part. The relationship type for a custom part must be "unknown" e.g. a custom relationship type, not one of the relationship types defined within ISO/IEC 29500. The default value is an empty string. A valid value must be a non-empty string. False if this custom part is stored inside the OOXML package. True if this custom part is an external target. The default value is false. Specifies the content type of this custom part. This property is applicable only when is false. The default value is an empty string. A valid value must be a non-empty string. Contains the data of this custom part. This property is applicable only when is false. The default value is an empty byte array. The value cannot be null. Represents a collection of objects. You do not normally need to create instances of this class. You access custom parts related to the OOXML package via the property. Returns an enumerator object that can be used to iterate over all items in the collection. Adds an item to the collection. The item to add. Removes an item at the specified index. The zero based index. Removes all elements from the collection. Makes a deep copy of this collection and its items. Gets the number of elements contained in the collection. Gets or sets an item at the specified index. Zero-based index of the item. Represents a Custom XML Data Storage Part (custom XML data within a package). A DOCX or DOC document can contain one or more Custom XML Data Storage parts. Aspose.Words preserves and allows to create and extract Custom XML Data via the collection. Makes a "deep enough" copy of the object. Does not duplicate the bytes of the value. Gets or sets the string that identifies this custom XML part within an OOXML document. ISO/IEC 29500 specifies that this value is a GUID, but old versions of Microsoft Word allowed any string here. Aspose.Words does the same for ECMA-376 format. But note, that Microsoft Word Online fails to open a document created with a non-GUID value. So, a GUID is preferred value for this property. A valid value must be an identifier that is unique among all custom XML data parts in this document. The default value is an empty string. The value cannot be null. Specifies the set of XML schemas that are associated with this custom XML part. Gets or sets the XML content of this Custom XML Data Storage Part. The default value is an empty byte array. The value cannot be null. Represents a collection of Custom XML Parts. The items are objects. You do not normally need to create instances of this class. You can access custom XML data stored in a document via the property. Returns an enumerator object that can be used to iterate over all items in the collection. Adds an item to the collection. The custom XML part to add. Creates a new XML part with the specified XML and adds it to the collection. Identifier of a new custom XML part. XML data of the part. Created custom XML part. Removes an item at the specified index. The zero based index. Removes all elements from the collection. Finds and returns a custom XML part by its identifier. Case-sensitive string that identifies the custom XML part. Returns null if a custom XML part with the specified identifier is not found. Makes a deep copy of this collection and its items. Gets the number of elements contained in the collection. Gets or sets an item at the specified index. Zero-based index of the item. Specifies the level in the document tree where a particular can occur. Specifies the unknown or invalid value. The element occurs at the inline level (e.g. among as runs of text). The element occurs at the block level (e.g. among tables and paragraphs). The element occurs among rows in a table. The element occurs among cells in a row. Represents a single custom XML attribute or a smart tag property. Used as an item of a collection. Initializes a new instance of this class. The name of the property. Cannot be null. The namespace URI of the property. Cannot be null. The value of the property. Cannot be null. Specifies the name of the custom XML attribute or smart tag property. Cannot be null. Default is empty string. Gets or sets the namespace URI of the custom XML attribute or smart tag property. Cannot be null. Default is empty string. Gets or sets the value of the custom XML attribute or smart tag property. Cannot be null. Default is empty string. Represents a collection of custom XML attributes or smart tag properties. Items are objects. Returns an enumerator object that can be used to iterate over all items in the collection. Adds a property to the collection. The property to add. Determines whether the collection contains a property with the given name. Case-sensitive name of the property to locate. True if the item is found in the collection; otherwise, false. Returns the zero-based index of the specified property in the collection. The case-sensitive name of the property. The zero based index. Negative value if not found. Removes a property with the specified name from the collection. The case-sensitive name of the property. Removes a property at the specified index. The zero based index. Removes all elements from the collection. Gets the number of elements contained in the collection. Provides access to the collection items. Gets a property with the specified name. Case-sensitive name of the property to locate. Gets a property at the specified index. Zero-based index of the property.

The Aspose.Words.Markup namespace contains classes that represent customer defined semantics in a document: smart tags, custom XML and structured document tags (content controls).

This namespace contains classes of the Aspose.Words' new reporting engine that supports report templates marked up with a language based on the LINQ Method Syntax.

This new reporting engine is more advanced than the original mail merge reporting engine and allows to retrieve data from any .NET class, perform grouping, sorting, joining and interpret C# expressions.

Specifies options controlling behavior of while building a report. Specifies default options. Specifies that missing object members should be treated as null literals by the engine. This option affects only access to instance (that is, non-static) object members and extension methods. If this option is not set, the engine throws an exception when encounters a missing object member. Specifies that the engine should remove paragraphs becoming empty after template syntax tags are removed or replaced with empty values. Specifies that the engine should inline template syntax error messages into output documents. If this option is not set, the engine throws an exception when encounters a syntax error. Provides routines to populate template documents with data and a set of settings to control these routines. This class is just a facade of . Descriptional comments of these classes should be kept in sync. Initializes a new instance of this class. Populates the specified template document with data from the specified source making it a ready report. Using this overload you can reference the data source's members in the template document, but you can not reference the data source object itself. You should use the overload to achieve this. A template document to be populated with data. A data source object. A flag indicating whether parsing of the template document was successful. The returned flag makes sense only if a value of the property includes the option. Populates the specified template document with data from the specified source making it a ready report. Using this overload you can reference the data source's members and the data source object itself in the template. If you are not going to reference the data source object itself, you can omit passing null or use the overload. A template document to be populated with data. A data source object. A name to reference the data source object in the template. A flag indicating whether parsing of the template document was successful. The returned flag makes sense only if a value of the property includes the option. Populates the specified template document with data from the specified sources making it a ready report. Using this overload you can reference multiple data source objects and their members in the template. The name of the first data source can be omitted (i.e. be an empty string or null) if you are going to reference the data source's members but not the data source object itself. Names of the other data sources must be specified and unique. If you are going to use a single data source, consider using of and overloads instead. A template document to be populated with data. An array of data source objects. An array of names to reference the data source objects within the template. A flag indicating whether parsing of the template document was successful. The returned flag makes sense only if a value of the property includes the option. Gets or sets a set of flags controlling behavior of this instance while building a report. Gets an unordered set (i.e. a collection of unique items) containing objects which fully or partially qualified names can be used within report templates processed by this engine instance to invoke the corresponding types' static members, perform type casts, etc. Gets or sets a value indicating whether invocations of custom type members performed via reflection API are optimized using dynamic class generation or not. The default value is true. There are some scenarios where it is preferrable to disable this optimization. For example, if you are dealing with small collections of data items all the time, then an overhead of dynamic class generation can be more noticeable than an overhead of direct reflection API calls. Normally, such settings should be located in configuration files, but it seems like there is no autoportable way to achieve this. Represents an unordered set (i.e. a collection of unique items) containing objects which fully or partially qualified names can be used within report templates to invoke the corresponding types' static members, perform type casts, etc. This class is just a facade of . Descriptional comments of these classes should be kept in sync. Adds the specified object to the set. Throws in the following cases: - is null. - represents a void type. - represents an invisible type, i.e. a non-public type or a public nested type which has a non-public outer type. - represents a generic type. - represents an array type. - has been added to the set already. A object to add. Removes the specified object from the set. Throws if is null. A object to remove. Removes all items from the set. Returns An object to iterate over items of the set. An object to iterate over items of the set. Gets the count of items in the set. The Aspose.Words.Themes namespace provides classes that allow to access theme information in Microsoft Word documents. A document theme can specify fonts and colors to be used in a document. Themes are supported in Word 2007 and higher.

Represents the color scheme of the document theme which contains twelve colors.

ThemeColors object contains six accent colors, two dark colors, two light colors and a color for each of a hyperlink and followed hyperlink.

20.1.6.2 clrScheme (Color Scheme) Defines a set of colors which are referred to as a color scheme. The The Color Scheme Color elements appear in a sequence.
Specifies color Accent 1. Specifies color Accent 2. Specifies color Accent 3. Specifies color Accent 4. Specifies color Accent 5. Specifies color Accent 6. Specifies color Dark 1. Specifies color Dark 2. Specifies color for a clicked hyperlink. Specifies color for a hyperlink. Specifies color Light 1. Specifies color Light 2. Represents document Theme, and provides access to main theme parts including , and At the moment this is just a crude hack to preserve themes during DOCX to DOCX roundtrip, but later should be worked into a more appropriate object. WORDSNET-10513. Limited support for theme handling was implemented. If customer changes one of theme part then theme is rewritten with new values. If theme is unchanged during roundtrip then it is written raw as before. Allows to specify the set of major fonts for different languages. Allows to specify the set of minor fonts for different languages. Allows to specify the set of theme colors for the document. Represents a collection of fonts in the font scheme, allowing to specify different fonts for different languages , and . Corresponds to 5.1.4.1.24 majorFont (Major Font) or 5.1.4.1.25 minorFont (Minor fonts). Specifies font name for Latin characters. Specifies font name for EastAsian characters. Specifies font name for ComplexScript characters. Specifies how text is wrapped around the table. Text and table is displayed in the order of their appearance in the document. Text is wrapped around the table occupying available side space. Default value. Determines how Aspose.Words resizes the table when you invoke the method. Aspose.Words enables the AutoFit option, removes the preferred width from the table and all cells and then updates the table layout. In the resulting table, cell widths are updated to fit the table contents. Most likely, the table will shrink. When you use this value, Aspose.Words enables the AutoFit option, sets the preferred width for the table to 100%, removes preferred widths from all cells and then updates the table layout. As a result, the table occupies all available width and the cell widths are updated to fit table contents. Aspose.Words disables the AutoFit option and removes the preferred with from the table. The widths of the cells remain as they are specified by their properties. Specifies alignment for an inline table. The table is aligned to the left. The table is centered. The table is aligned to the right. Represents a value and its unit of measure that is used to specify the preferred width of a table or a cell. Preferred width can be specified as a percentage, number of points or a special "none/auto" value. The instances of this class are immutable. Returns an instance that represents the "preferred width is not specified" value. A creation method that returns a new instance that represents a preferred width specified as a percentage. The value must be from 0 to 100. A creation method that returns a new instance that represents a preferred width specified using a number of points. The value must be from 0 to 22 inches (22 * 72 points). Determines whether the specified object is equal in value to the current object. Serves as a hash function for this type. Returns a user-friendly string that displays the value of this object. Gets the unit of measure used for this preferred width value. Gets the preferred width value. The unit of measure is specified in the property. Specifies the unit of measurement for the preferred width of a table or cell. The preferred width is not specified. The actual width of the table or cell is either specified using the explicit width or will be determined automatically by the table layout algorithm when the table is displayed, depending on the table auto fit setting. Measure the current item width using a specified percentage. Measure the current item width using a specified number of points (1/72 inch). Specifies how table style is applied to a table. 2.4.51 tblLook (Table Style Conditional Formatting Settings) The DOC spec defines more values here, but it says they are ignored by Word 2007 so we ignore them too. No table style formatting is applied. Apply first row conditional formatting. Apply last row conditional formatting. Apply 1 first column conditional formatting. Apply last column conditional formatting. Apply row banding conditional formatting. Apply column banding conditional formatting. Row and column banding is applied. This is Microsoft Word default for old formats such as DOC, WML and RTF. This is Microsoft Word defaults. Represents all formatting for a table cell. Resets to default cell formatting. Does not change the width of the cell. Sets the amount of space (in points) to add to the left/top/right/bottom of the contents of cell. Returns or sets the amount of space (in points) to add to the left of the contents of cell. Returns or sets the amount of space (in points) to add to the right of the contents of cell. Returns or sets the amount of space (in points) to add above the contents of cell. Returns or sets the amount of space (in points) to add below the contents of cell. Gets collection of borders of the cell. Returns a Shading object that refers to the shading formatting for the cell. Returns or sets the vertical alignment of text in the cell. Gets the width of the cell in points. The width is calculated by Aspose.Words on document loading and saving. Currently, not every combination of table, cell and document properties is supported. The returned value may not be accurate for some documents. It may not exactly match the cell width as calculated by MS Word when the document is opened in MS Word. Setting this property is not recommended. There is no guarantee that the cell will actually have the set width. The width may be adjusted to accommodate cell contents in an auto-fit table layout. Cells in other rows may have conflicting width settings. The table may be resized to fit into the container or to meet table width settings. Consider using for setting the cell width. Setting this property sets implicitly since version 15.8. Returns or sets the preferred width of the cell. The preferred width (along with the table's Auto Fit option) determines how the actual width of the cell is calculated by the table layout algorithm. Table layout can be performed by Aspose.Words when it saves the document or by Microsoft Word when it displays the document. The preferred width can be specified in points or in percent. The preferred width can also be specified as "auto", which means no preferred width is specified. The default value is . Specifies how the cell is merged with other cells vertically.

Cells can only be merged vertically if their left and right boundaries are identical.

When cells are vertically merged, the display areas of the merged cells are consolidated. The consolidated area is used to display the contents of the first vertically merged cell and all other vertically merged cells must be empty.

Specifies how the cell is merged horizontally with other cells in the row. Returns or sets the orientation of text in a table cell. If true, fits text in the cell, compressing each paragraph to the width of the cell. If true, wrap text for the cell. Specifies how a cell in a table is merged with other cells. The cell is not merged. The cell is the first cell in a range of merged cells. The cell is merged to the previous cell horizontally or vertically. Provides typed access to a collection of nodes. Copies all cells from the collection to a new array of cells. An array of cells. Specifies vertical justification of text inside a table cell. Text is aligned at the top of a cell. Text is aligned in the middle of a cell. Text is aligned at the bottom of the cell.

The Aspose.Words.Tables namespace contains classes that represent tables, rows, cells and their formatting.

Represents all formatting for a table row. RK I don't expose Shading here because default shading in MS Word works very strange, cells do not seem to inherit the shading specified for the table so it will be pretty confusing to work with. Setting row shading should actually go and set shading for all of the cells in the row. Resets to default row formatting. Gets the collection of default cell borders for the row. Gets or sets the height of the table row in points. Gets or sets the rule for determining the height of the table row. True if the text in a table row is allowed to split across a page break. True if the row is repeated as a table heading on every page when the table spans more than one page. Provides typed access to a collection of nodes. Copies all rows from the collection to a new array of rows. An array of rows. Provides typed access to a collection of nodes. Copies all tables from the collection to a new array of tables. An array of tables.

The Aspose.Words.Replacing namespace provides classes to manipulate with find/replace operations over the document tree.

Specifies options for find/replace operations. Text formatting applied to new content. Paragraph formatting applied to new content. Selects direction for replace. Default value is . True indicates case-sensitive comparison, false indicates case-insensitive comparison. True indicates the oldValue must be a standalone word. The user-defined method which is called before every replace occurrence. True indicates that meta-characters beginning with "&" are preserved. Default value is false. Allows the user to specify what happens to the current match during a replace operation. Replace the current match. Skip the current match. Terminate the replace operation. Implement this interface if you want to have your own custom method called during a find and replace operation. A user defined method that is called during a replace operation for each match found just before a replace is made. A value that specifies the action to be taken for the current match. Provides data for a custom replace operation. See and its overloads. The resulting from a single regular expression match during a Replace.

Match.Index" gets the zero-based starting position of the match from the start of the find and replace range.

Gets the node that contains the beginning of the match. Gets the zero-based starting position of the match from the start of the node that contains the beginning of the match. Gets or sets the replacement string. Identifies, by name, a captured group in the that is to be replaced with the string.

When group name is null, is used to identify the group.

Default is null.

Identifies, by index, a captured group in the that is to be replaced with the string.

has effect only when is null.

Default is zero.

Specifies how bookmarks in headers/footers are exported. Bookmarks in headers/footers are not exported. Only bookmark in first header/footer of the section is exported. Bookmarks in all headers/footers are exported. Allows to specify additional options when rendering document pages or shapes to images. Initializes a new instance of this class that can be used to save rendered images in the , , , , or format. , , or format. Can be , , , , or . , , or . Creates a deep clone of this object. Specifies the format in which the rendered document pages or shapes will be saved if this save options object is used. Can be , , , , or . Gets or sets the 0-based index of the first page to render. Default is 0. This property has effect only when rendering document pages. This property is ignored when rendering shapes to images. Gets or sets the number of pages to render when saving to a multipage TIFF file. Default is which means all pages of the document will be rendered. This property has effect only when rendering document pages. This property is ignored when rendering shapes to images. Gets or sets the background (paper) color for the generated images.

The default value is .

When rendering pages of a document that specifies its own background color, then the document background color will override the color specified by this property.
Gets or sets the pixel format for the generated images.

The default value is .

Pixel format of the output image may differ from the set value because of work of GDI+.

Gets or sets the horizontal resolution for the generated images, in dots per inch. This property has effect only when saving to raster image formats.

The default value is 96.

Gets or sets the vertical resolution for the generated images, in dots per inch. This property has effect only when saving to raster image formats.

The default value is 96.

Sets both horizontal and vertical resolution for the generated images, in dots per inch. This property has effect only when saving to raster image formats. Gets or sets a value determining the quality of the generated JPEG images. Has effect only when saving to JPEG.

Use this property to get or set the quality of generated images when saving in JPEG format. The value may vary from 0 to 100 where 0 means worst quality but maximum compression and 100 means best quality but minimum compression.

The default value is 95.

Gets or sets the type of compression to apply when saving generated images to the TIFF format. Has effect only when saving to TIFF.

The default value is .

Gets or sets the color mode for the generated images. This property has effect only when saving to raster image formats. The default value is . Gets or sets the brightness for the generated images. This property has effect only when saving to raster image formats. The default value is 0.5. The value must be in the range between 0 and 1. Gets or sets the contrast for the generated images. This property has effect only when saving to raster image formats. The default value is 0.5. The value must be in the range between 0 and 1. Gets or sets the zoom factor for the generated images. The default value is 1.0. The value must be greater than 0. Allows to specify how metafiles are treated in the rendered output. When is specified, Aspose.Words renders metafile to vector graphics using its own metafile rendering engine first and then renders vector graphics to the image. When is specified, Aspose.Words renders metafile directly to the image using the GDI+ metafile rendering engine. GDI+ metafile rendering engine works faster, supports almost all metafile features but on low resolutions may produce inconsistent result when compared to the rest of vector graphics (especially for text) on the page. Aspose.Words metafile rendering engine will produce more consistent result even on low resolutions but works slower and may inaccurately render complex metafiles. The default value for is . Gets or sets method used while converting images to 1 bpp format when is SaveFormat.Tiff and is equal to TiffCompression.Ccitt3 or TiffCompression.Ccitt4. The default value is ImageBinarizationMethod.Threshold. Gets or sets the threshold that determines the value of the binarization error in the Floyd-Steinberg method. when is ImageBinarizationMethod.FloydSteinbergDithering. The default value is 128. Gets or sets a value determining whether to use GDI+ or Aspose.Words metafile renderer when saving to EMF. If set to true GDI+ metafile renderer is used. I.e. content is written to GDI+ graphics object and saved to metafile. If set to false Aspose.Words metafile renderer is used. I.e. content is written directly to the metafile format with Aspose.Words. The default value is true. Has effect only when saving to EMF. Specifies how list levels are indented when document is exporting to format. Gets or sets how many to use as indentation per one list level. The default value is 0, that means no indentation. Gets or sets which character to use for indenting list levels. The default value is '\0', that means there is no indentation. Specifies the way headers and footers are exported to plain text format. No headers and footers are exported. Only primary headers and footers are exported at the beginning and end of each section. It is hard to meaningfully output headers and footers to plain text because it is not paginated. When this mode is used, only primary headers and footers are exported at the beginning and end of each section. All headers and footers are placed after all section bodies at the very end of a document. This mode is similar to Word. The base class for specifying additional options when saving a document into a text based formats. Specifies the encoding to use when exporting in text formats. Default value is Encoding.UTF8. Specifies the string to use as a paragraph break when exporting in text formats.

The default value is .

Specifies whether the program should attempt to preserve layout of tables when saving in the plain text format. The default value is false. Allows to specify whether the page breaks should be preserved during export. The default value is false. The property affects only page breaks that are inserted explicitly into a document. It is not related to page breaks that MS Word automatically inserts at the end of each page. Specifies the way headers and footers are exported to the text formats. Default value is . Indicates the format in which metafiles are saved to HTML documents. Metafiles are rendered to raster PNG images. Metafiles are converted to vector SVG images. Metafiles are saved as is, without conversion. Specified units of measure to apply to measurable document content such as shape, widths and other during saving. Specifies that the document content is saved using centimeters. Specifies that the document content is saved using inches. Contains common options that can be specified when saving a document into fixed page formats (PDF, XPS, images etc). Gets or sets the 0-based index of the first page to save. Default is 0. Gets or sets the number of pages to save. Default is which means all pages of the document will be rendered. Allows to control how separate pages are saved when a document is exported to fixed page format. Gets or sets used for rendering of numerals. European numerals are used by default. If the value of this property is changed and page layout is already built then is invoked automatically to update any changes. Allows to specify metafile rendering options. Gets or sets a value determining the quality of the JPEG images inside Html document. Has effect only when a document contains JPEG images.

Use this property to get or set the quality of the images inside a document when saving in fixed page format. The value may vary from 0 to 100 where 0 means worst quality but maximum compression and 100 means best quality but minimum compression.

The default value is 95.

Flag indicates whether it is required to optimize output. If this flag is set redundant nested canvases and empty canvases are removed, also neighbor glyphs with the same formatting are concatenated. Note: The accuracy of the content display may be affected if this property is set to true. Default is false. Indicates the version of HTML is used when saving the document to and formats. Saves the document in compliance with the XHTML 1.0 Transitional standard.

Aspose.Words aims to output XHTML according to the XHTML 1.0 Transitional standard, but the output will not always validate against the DTD. Some structures inside a Microsoft Word document are hard or impossible to map to a document that will validate against the XHTML schema. For example, XHTML does not allow nested lists (UL cannot be nested inside another UL element), but in Microsoft Word document multilevel lists occur quite often.

Saves the document in compliance with the HTML 5 standard. Specifies how Aspose.Words exports OfficeMath to HTML, MHTML and EPUB. OfficeMath is converted to HTML as image specified by <img> tag. OfficeMath is converted to HTML using MathML. OfficeMath is converted to HTML as sequence of runs specified by <span> tags. Implement this interface if you want to control how Aspose.Words saves separate pages when saving a document to fixed page formats. Called when Aspose.Words saves a separate page to fixed page formats. Provides data for the event. Allows to specify the stream where the document page will be saved to. This property allows you to save document pages to streams instead of files. The default value is null. When this property is null, the document page will be saved to a file specified in the property. If both PageStream and PageFileName are set, then PageStream will be used. Specifies whether Aspose.Words should keep the stream open or close it after saving a document page. Default is false and Aspose.Words will close the stream you provided in the property after writing a document page into it. Specify true to keep the stream open. Gets or sets the file name where the document page will be saved to. If not specified then page file name and path will be generated automatically using original file name. Current page index. Specifies how colors are rendered. Rendering with unmodified colors. Rendering with colors in a range of gray shades from white to black. Specifies the horizontal alignment for pages in output HTML document. Align pages to the left. Center pages. This is the default value. Align pages to the right. Can be used to specify additional options when saving a document into the format. Adds information about font that is uploaded to the printer by manufacturer. Full name of the font (e.g. "Times New Roman Bold Italic"). Name of the font that is used in Pcl document. There are 52 fonts that are to be built in any printer according to Pcl specification. However manufactures can add some other fonts to their devices. Specifies the format in which the document will be saved if this save options object is used. Can only be . Gets or sets a value determining whether or not complex transformed elements should be rasterized before saving to PCL document. Default is true. PCL doesn't support some kind of transformations that are used by Aspose Words. E.g. rotated, skewed images and texture brushes. To properly render such elements rasterization process is used, i.e. saving to image and clipping. This process can take additional time and memory. If flag is set to false, some content in output may be different as compared with the source document. Name of the font that will be used if no expected font is found in printer and built-in fonts collections. If no fallback is found, a warning is generated and "Arial" font is used. Contains settings of the digital signature timestamp. Initializes an instance of this class. Initializes an instance of this class. Timestamp server URL. Timestamp server user name. Timestamp server password. Initializes an instance of this class. Timestamp server URL. Timestamp server user name. Timestamp server password. Time-out value for accessing timestamp server. Timestamp server URL. The default value is null. If null, then the digital signature will not be time-stamped. Timestamp server user name. The default value is null. Timestamp server password. The default value is null. Time-out value for accessing timestamp server. The default value is 100 seconds. Specifies how the color space will be selected for the images in PDF document. Aspose.Words automatically selects the most appropriate color space for each image. Most of the images are saved in RGB color space. Also Indexed and Grayscale color spaces may be used. CMYK color space is never used. For some images the color space may be different on different platforms. Aspose.Words coverts RGB images to CMYK color space using simple formula. Images in RGB color space are converted to CMYK using formula: Black = minimum(1-Red,1-Green,1-Blue). Cyan = (1-Red-Black)/(1-Black). Magenta = (1-Green-Black)/(1-Black). Yellow = (1-Blue-Black)/(1-Black). RGB values are normalized - they are between 0 and 1.0. Specifies the way are exported to PDF file. No custom properties are exported. Custom properties are exported as entries in /Info dictionary. Custom properties with the following names are not exported: "Title", "Author", "Subject", "Keywords", "Creator", "Producer", "CreationDate", "ModDate", "Trapped". Custom properties are Metadata. The namespace of exported properties in XMP packet is "custprops". Every property has an associated xml-element "custprops:Property1", "custprops:Property2" and so on. There is "rdf:Description" element inside property element. The description element has two elements "custprops:Name", containing custom property's name as a value of this xml-element, and "custprops:Value", containing custom property's value as value of this xml-element. Specifies how DrawingML effects are rendered to fixed page formats. Rendering of DrawingML effects are simplified. No DrawingML effects are rendered. DrawingML effects are rendered in fine mode which involves advanced processing. In this mode rendering of effects gives better results but at a higher performance cost than mode. Specifies how DrawingML shapes are rendered to fixed page formats. If fall-back shape is available for DrawingML, Aspose.Words renders fall-back shape instead of the DrawingML. Please note that after saving a document to a fixed page format with fall-back DML rendering mode, DML shapes in the AW document model are permanently replaced with their fall-back counterparts. As a result, saving the same document again will always use fall-back shapes, even if DmlRenderingMode is set to DrawingML. Aspose.Words ignores fall-back shape of DrawingML and renders DrawingML itself. This is the default mode. Allows to specify downsample options. Specifies whether images should be downsampled. The default value is true. Specifies the resolution in pixels per inch which the images should be downsampled to. The default value is 220 ppi. Specifies the threshold resolution in pixels per inch. If resolution of an image in the document is less than threshold value, the downsampling algorithm will not be applied. A value of 0 means the threshold check is not used and all images that can be reduced in size are downsampled. The default value is 0. Specifies the method used to binarize image. Specifies threshold method. Specifies dithering using Floyd-Steinberg error diffusion method. Indicates the format that is used to export fonts while rendering to HTML fixed format. WOFF (Web Open Font Format). TTF (TrueType Font format). Specifies how Aspose.Words should embed fonts. Aspose.Words embeds all fonts. Aspose.Words embeds all fonts excepting standard Windows fonts Arial and Times New Roman. Only Arial and Times New Roman fonts are affected in this mode because MS Word doesn't embed only these fonts when saving document to PDF. Aspose.Words do not embed any fonts. Can be used to specify additional options when saving a document into the format. Specifies the format in which the document will be saved if this save options object is used. Can only be . Gets or sets a boolean value indicating whether the document should be saved using a booklet printing layout, if it is specified via . If this option is specified, page range set via and is ignored when saving. This behavior matches MS Word. If book fold printing settings are not specified in page setup, this option will have no effect. Provides data for the event. By default, when Aspose.Words saves a document to fixed page HTML or SVG, it saves each resource into a separate file. Aspose.Words uses the document file name and a unique number to generate unique file name for each resource found in the document. allows to redefine how resource file names are generated or to completely circumvent saving of resources into files by providing your own stream objects. To apply your own logic for generating resource file names use the property. To save resources into streams instead of files, use the property. Gets the document object that is currently being saved. Gets or sets the file name (without path) where the resource will be saved to. This property allows you to redefine how the resource file names are generated during export to fixed page HTML or SVG. When the event is fired, this property contains the file name that was generated by Aspose.Words. You can change the value of this property to save the resource into a different file. Note that file names must be unique.

Aspose.Words automatically generates a unique file name for every resource when exporting to fixed page HTML or SVG format. How the resource file name is generated depends on whether you save the document to a file or to a stream.

When saving a document to a file, the generated resource file name looks like <document base file name>.<image number>.<extension>.

When saving a document to a stream, the generated resource file name looks like Aspose.Words.<document guid>.<image number>.<extension>.

must contain only the file name without the path. Aspose.Words determines the path for saving and the value of the src attribute for writing to fixed page HTML or SVG using the document file name, the or and or properties.
Gets or sets the uniform resource identifier (URI) used to reference the resource file from the document. This property allows you to change URIs of resource files exported to fixed page HTML or SVG documents. Aspose.Words automatically generates an URI for every resource file during export to fixed page HTML or SVG format. The generated URIs reference resource files saved by Aspose.Words. However, the URIs can be incorrect if resource files are to be moved to other location or if resource files are saved to streams. This property allows to correct URIs in these cases. When the event is fired, this property contains the URI that was generated by Aspose.Words. You can change the value of this property to provide a custom URI for the resource file. Specifies whether Aspose.Words should keep the stream open or close it after saving a resource. Default is false and Aspose.Words will close the stream you provided in the property after writing a resource into it. Specify true to keep the stream open. Allows to specify the stream where the resource will be saved to. This property allows you to save resources to streams instead of files. The default value is null. When this property is null, the resource will be saved to a file specified in the property. Using you cannot substitute one resource with another. It is intended only for control over location where to save resources. Specifies how the PDF document should be displayed when opened in the PDF reader. Neither document outline nor thumbnail images are visible. Document outline is visible. Note that if there're no outlines in the PDF document then outline navigation pane will not be visible anyway. Thumbnail images are visible. Full-screen mode, with no menu bar, window controls, or any other window visible. Optional content group panel is visible. Can be used to specify additional options when saving a document into the format. Specifies the format in which the document will be saved if this save options object is used. Can only be . Specifies whether border around pages should be shown. Default is true. Specifies the horizontal alignment of pages in an HTML document. Default value is HtmlFixedHorizontalPageAlignment.Center. Specifies the margins around pages in an HTML document. The margins value is measured in points and should be equal to or greater than 0. Default value is 10 points. Depends on the value of property: Defines top, bottom and left page margins if the value is . Defines top, bottom and right page margins if the value is . Defines top and bottom page margins if the value is . Specifies the physical folder where resources (images, fonts, css) are saved when exporting a document to Html format. Default is null.

Has effect only if property is false.

When you save a in Html format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

If you save a document into a file and provide a file name, Aspose.Words, by default, saves the images in the same folder where the document file is saved. Use to override this behavior.

If you save a document into a stream, Aspose.Words does not have a folder where to save the images, but still needs to save the images somewhere. In this case, you need to specify an accessible folder by using the property

Specifies the name of the folder used to construct image URIs written into an Html document. Default is null.

When you save a in Html format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

Specifies whether images should be embedded into Html document in Base64 format. Note setting this flag can significantly increase size of output Html file. Specifies whether fonts should be embedded into Html document in Base64 format. Note setting this flag can significantly increase size of output Html file. Specifies whether the CSS (Cascading Style Sheet) should be embedded into Html document. Specifies whether SVG resources should be embedded into Html document. Default value is true. Gets or sets used for font exporting. Default value is . Specifies prefix which is added to all class names in style.css file. Default value is "aw". Allows to control how resources (images, fonts and css) are saved when a document is exported to fixed page Html format. Specifies the encoding to use when exporting to HTML. Default value is new UTF8Encoding(true) (UTF-8 with BOM). Gets or sets indication of whether form fields are exported as interactive items (as 'input' tag) rather than converted to text or graphics. Flag indicates whether it is required to optimize output. If this flag is set redundant nested canvases and empty canvases are removed, also neighbor glyphs with the same formating are concatenated. Note: The accuracy of the content display may be affected if this property is set to true. Default is true. Flag indicates whether fonts from target machine must be used to display the document. If this flag is set to true, and properties do not have effect, also is not fired for fonts. Default is false. Flag indicates whether "@font-face" CSS rules should be placed into a separate file "fontFaces.css" when a document is being saved with external stylesheet (that is, when is false). Default value is false, all CSS rules are written into single file "styles.css". Setting this property to true restores the old behavior (separate files) for compatibility with legacy code. A collection of individual bookmarks outline level. Key is a case-insensitive string bookmark name. Value is a int bookmark outline level. Bookmark outline level may be a value from 0 to 9. Specify 0 and Word bookmark will not be displayed in the document outline. Specify 1 and Word bookmark will be displayed in the document outline at level 1; 2 for level 2 and so on. Adds a bookmark to the collection. The case-insensitive name of the bookmark to add. The outline level of the bookmark. Valid range is 0 to 9. Determines whether the collection contains a bookmark with the given name. Case-insensitive name of the bookmark to locate. True if item is found in the collection; otherwise, false. Returns the zero-based index of the specified bookmark in the collection. The case-insensitive name of the bookmark. The zero based index. Negative value if not found. Removes a bookmark with the specified name from the collection. The case-insensitive name of the bookmark. Removes a bookmark at the specified index. The zero based index. Removes all elements from the collection. Gets the number of elements contained in the collection. Provides access to the collection items. Gets or a sets a bookmark outline level by the bookmark name. Case-insensitive name of the bookmark. The outline level of the bookmark. Valid range is 0 to 9. Gets or sets a bookmark outline level at the specified index. Zero-based index of the bookmark. The outline level of the bookmark. Valid range is 0 to 9. Implement this interface if you want to control how Aspose.Words saves external resources (images, fonts and css) when saving a document to fixed page HTML or SVG. Called when Aspose.Words saves an external resource to fixed page HTML or SVG formats. Allows to specify outline options. Gets or sets a value determining whether or not to create missing outline levels when the document is exported. Default value for this property is false. Specifies how many levels of headings (paragraphs formatted with the Heading styles) to include in the document outline. Specify 0 for no headings in the outline; specify 1 for one level of headings in the outline and so on. Default is 0. Valid range is 0 to 9. Specifies how many levels in the document outline to show expanded when the file is viewed. Note that this options will not work when saving to XPS. Specify 0 and the document outline will be collapsed; specify 1 and the first level items in the outline will be expanded and so on. Default is 0. Valid range is 0 to 9. Specifies the default level in the document outline at which to display Word bookmarks. Individual bookmarks level could be specified using property. Specify 0 and Word bookmarks will not be displayed in the document outline. Specify 1 and Word bookmarks will be displayed in the document outline at level 1; 2 for level 2 and so on. Default is 0. Valid range is 0 to 9. Allows to specify individual bookmarks outline level. If bookmark level is not specified in this collection then value is used. Specifies whether or not to create outlines for headings (paragraphs formatted with the Heading styles) inside tables. Default value is false. Specifies the type of compression applied to images in the PDF file. Automatically selects the most appropriate compression for each image. Jpeg compression. Does not support transparency. Provides data for the event. By default, when Aspose.Words saves a document to HTML, it saves CSS information inline (as a value of the style attribute on every element). allows to save CSS information into file by providing your own stream object. To save CSS into stream, use the property. To suppress saving CSS into a file and embedding to HTML document use the property. Gets the document object that is currently being saved. Specifies whether Aspose.Words should keep the stream open or close it after saving an CSS information. Default is false and Aspose.Words will close the stream you provided in the property after writing an CSS information into it. Specify true to keep the stream open. Allows to specify the stream where the CSS information will be saved to. This property allows you to save CSS information to a stream. The default value is null. This property doesn't suppress saving CSS information to a file or embedding to HTML document. To suppress exporting CSS use the property. Using you cannot substitute CSS with another. It is intended only for saving CSS to a stream. Allows to specify whether the CSS will be exported to file and embedded to HTML document. Default is true. When this property is false, the CSS information will not be saved to a CSS file and will not be embedded to HTML document. Implement this interface if you want to control how Aspose.Words saves CSS (Cascading Style Sheet) when saving a document to HTML. Called when Aspose.Words saves an CSS (Cascading Style Sheet). Specifies how Aspose.Words should render EMF+ Dual metafiles. Aspose.Words tries to render EMF+ part of EMF+ Dual metafile. If some of the EMF+ records are not supported then Aspose.Words renders EMF part of EMF+ Dual metafile. Aspose.Words renders EMF+ part of EMF+ Dual metafile. Aspose.Words renders EMF part of EMF+ Dual metafile. Allows to specify additional metafile rendering options. Gets or sets a value determining how metafile images should be rendered. The default value depends on the save format. For images it is . For other formats it is . Gets or sets a value determining how EMF+ Dual metafiles should be rendered. EMF+ Dual metafiles contains both EMF+ and EMF parts. MS Word and GDI+ always renders EMF+ part. Aspose.Words currently doesn't fully supports all EMF+ records and in some cases rendering result of EMF part looks better then rendering result of EMF+ part.

This option is used only when metafile is rendered as vector graphics. When metafile is rendered to bitmap, EMF+ part is always used.

The default value is .

Gets or sets a value determining how WMF metafiles with embedded EMF metafiles should be rendered. WMF metafiles could contain embedded EMF data. MS Word in most cases uses embedded EMF data. GDI+ always uses WMF data.

When this value is set to true, Aspose.Words uses embedded EMF data when rendering.

When this value is set to false, Aspose.Words uses WMF data when rendering.

This option is used only when metafile is rendered as vector graphics. When metafile is rendered to bitmap, WMF data is always used.

The default value is true.

Gets or sets a value determining whether or not the raster operations should be emulated. Specific raster operations could be used in metafiles. They can not be rendered directly to vector graphics. Emulating raster operations requires partial rasterization of the resulting vector graphics which may affect the metafile rendering performance.

When this value is set to true, Aspose.Words emulates the raster operations. The resulting output maybe partially rasterized and performance might be slower.

When this value is set to false, Aspose.Words does not emulate the raster operations. When Aspose.Words encounters a raster operation in a metafile it fallbacks to rendering the metafile into a bitmap by using the operating system.

This option is used only when metafile is rendered as vector graphics.

The default value is true.

Gets or sets a value determining whether or not to scale fonts in WMF metafile according to metafile size on the page. When WMF metafiles are displayed in MS Word, fonts may be scaled according to actual metafile size on the page.

When this value is set to true, Aspose.Words emulates font scaling according to metafile size on the page.

When this value is set to false, Aspose.Words displays the fonts as metafile is rendered to its default size.

This option is used only when metafile is rendered as vector graphics.

The default value is true.

Indicates the symbol set that is used to represent numbers while rendering to fixed page formats. European numerals: 0123456789. Numerals used in Arabic: ٠١٢٣٤٥٦٧٨٩. Unicode range U+0660 - u+0669. Numerals used in Persian and Urdu: ۰۱۲۳۴۵۶۷۸۹. Unicode range U+06F0 - u+06F9. Symbol set is decided from context(locale and RTL property). THIS OPTION IS NOT SUPPORTED. Symbol set is decided from regional settings. Specifies the type of zoom applied to a PDF document when it is opened in a PDF viewer. How the document is displayed is left to the PDF viewer. Usually the viewer displays the document to fit page width. Displays the page using the specified zoom factor. Displays the page so it visible entirely. Fits the width of the page. Fits the height of the page. Fits the bounding box (rectangle containing all visible elements on the page). Can be used to specify additional options when saving a document into the format. Specifies the format in which the document will be saved if this save options object is used. Can only be . Controls whether a border is added to the outline of the page. Default is true. Gets or sets a value determining how text should be rendered in SVG.

Use this property to get or set the mode of how text inside a document should be rendered when saving in SVG format.

The default value is .

Specifies the physical folder where resources (images) are saved when exporting a document to Svg format. Default is null.

Has effect only if property is false.

When you save a in SVG format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

If you save a document into a file and provide a file name, Aspose.Words, by default, saves the images in the same folder where the document file is saved. Use to override this behavior.

If you save a document into a stream, Aspose.Words does not have a folder where to save the images, but still needs to save the images somewhere. In this case, you need to specify an accessible folder in the property

Specifies the name of the folder used to construct image URIs written into an SVG document. Default is null.

When you save a in SVG format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

Specified whether images should be embedded into SVG document as base64. Note setting this flag can significantly increase size of output SVG file. Specifies if the output SVG should fill the available viewport area (browser window or container). When set to true width and height of output SVG are set to 100%.

The default value is false.

Allows to control how resources (images) are saved when a document is exported to SVG format. SVG fonts are used to render text. Note, not all browsers support SVG fonts. Fonts installed on the target machine are used to render text. Note, if some of fonts used in the document are not available on the target machine, document can look differently. Text is rendered using curves. Note, text selection will not work if you use this option. Specifies how list labels are exported to HTML, MHTML and EPUB. Outputs list labels in auto mode. Uses HTML native elements when possible. HTML <ul> and <ol> tags are used for list label representation if it doesn't cause formatting loss, otherwise the HTML <p> tag is used. Outputs all list labels as inline text. HTML <p> tag is used for any list label representation. Outputs all list labels as HTML native elements. HTML <ul> and <ol> tags are used for list label representation. Some formatting loss is possible. Specifies a digital hash algorithm used by a digital signature. SHA-1 hash algorithm. SHA-256 hash algorithm. SHA-384 hash algorithm. SHA-512 hash algorithm. SHA-1 hash algorithm. Specifies how headers and footers are exported to HTML, MHTML or EPUB. Headers and footers are not exported. Primary headers and footers are exported at the beginning and the end of each section. Primary header of the first section is exported at the beginning of the document and primary footer is at the end. First page header and footer are exported at the beginning and the end of each section. Specifies how Aspose.Words exports element widths and heights to HTML, MHTML and EPUB. All element sizes, both in absolute and relative units, specified in the document are exported. Element sizes are exported only if they are specified in relative units in the document. Fixed sizes are not exported in this mode. Visual agents will calculate missing sizes to make document layout more natural. Element sizes are not exported. Visual agents will build layout automatically according to relationship between elements. Specifies the encryption algorithm to use for encrypting a PDF document. RC4 encryption, key length of 40 bits. RC4 encryption, key length of 128 bits. Contains details for encrypting and access permissions for a PDF document. Initializes an instance of this class. Specifies the user password required for opening the encrypted PDF document. The user password will be required to open an encrypted PDF document for viewing. The permissions specified in will be enforced by the reader software. The user password can be null or empty string, in this case no password will be required from the user when opening the PDF document. The user password cannot be the same as the owner password. Specifies the owner password for the encrypted PDF document. The owner password allows the user to open an encrypted PDF document without any access restrictions specified in . The owner password cannot be the same as the user password. Specifies the operations that are allowed to a user on an encrypted PDF document. The default value is . Specifies the encryption algorithm to use. Specifies how Aspose.Words should render WMF and EMF metafiles. Aspose.Words tries to render a metafile as vector graphics. If Aspose.Words cannot correctly render some of the metafile records to vector graphics then Aspose.Words renders this metafile to a bitmap. Aspose.Words renders a metafile as vector graphics. Aspose.Words invokes GDI+ to render a metafile to a bitmap and then saves the bitmap to the output document. Specifies the operations that are allowed to a user on an encrypted PDF document. Disallows all operations on the PDF document. This is the default value. Allows all operations on the PDF document. Allows copying or otherwise extracting text and graphics from the document, including extraction for accessibility purposes. Allows extract text and graphics in support of accessibility to disabled users or for other purposes. When using RC4 40-bit encryption, this option is ignored and accessibility is allowed whenever is set. Allows modifying the document’s contents. Allows adding or modifying text annotations. When using RC4 40-bit encryption, this option also allows filling in form fields. Allows filling in forms and signing the document. When using RC4 40-bit encryption, this option is ignored and filling in form is allowed whenever is set. Allows assembling the document: inserting, rotating, or deleting pages and creating navigation elements such as bookmarks or thumbnail images. When using RC4 40-bit encryption, this option is ignored and document assembly is allowed when is set. Allows printing the document. Allows printing the document to the highest resolution possible. When using RC4 40-bit encryption, this option is ignored and high resolution printing is allowed when is set. Can be used to specify additional options when saving a document into the format. Specifies the format in which the document will be saved if this save options object is used. Can only be . Specifies the physical folder where resources (images and fonts) are saved when exporting a document to fixed page Xaml format. Default is null.

When you save a in fixed page Xaml format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

If you save a document into a file and provide a file name, Aspose.Words, by default, saves the images in the same folder where the document file is saved. Use to override this behavior.

If you save a document into a stream, Aspose.Words does not have a folder where to save the images, but still needs to save the images somewhere. In this case, you need to specify an accessible folder by using the property

Specifies the name of the folder used to construct image URIs written into an fixed page Xaml document. Default is null.

When you save a in fixed page Xaml format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

Allows to control how resources (images and fonts) are saved when a document is exported to fixed page Xaml format. Contains details for signing a PDF document with a digital signature. At the moment digitally signing PDF documents is only available on .NET 2.0 or higher. To digitally sign a PDF document when it is created by Aspose.Words, set the property to a valid object and then save the document in the PDF format passing the as a parameter into the method. Aspose.Words creates a PKCS#7 signature over the whole PDF document and uses the "Adobe.PPKMS" filter and "adbe.pkcs7.sha1" subfilter when creating a digital signature. Initializes an instance of this class. Initializes an instance of this class. A certificate holder which contains the certificate itself. The reason for signing. The location of signing. The date and time of signing. Gets or sets the reason for the signing. The default value is null. Gets or sets the location of the signing. The default value is null. Gets or sets the date of the signing. The default value is the current time. This value will appear in the digital signature as an unverified computer time. Gets or sets the hash algorithm. The default value is the SHA-512 algorithm. Gets or sets the digital signature timestamp settings. The default value is null and the digital signature will not be time-stamped. When this property is set to a valid object, then the digital signature in the PDF document will be time-stamped. Can be used to specify additional options when saving a document into the or format. At the moment provides only the property, but in the future will have other options added, such as an encryption password or digital signature settings. Initializes a new instance of this class that can be used to save a document in the format. Initializes a new instance of this class that can be used to save a document in the or format. Can be or . Specifies the format in which the document will be saved if this save options object is used. Can be or . Gets/sets a password to encrypt document using RC4 encryption method. In order to save document without encryption this property should be null or empty string. When false, RoutingSlip data is not saved to output document. Default value is true. When false, small metafiles are not compressed for performance reason. Default value is true, all metafiles are compressed regardless of its size. Provides data for the callback.

When Aspose.Words saves a document to HTML or related formats and is specified, the document is split into parts and by default, each document part is saved into a separate file.

Class allows you to control how each document part will be saved. It allows to redefine how file names are generated or to completely circumvent saving of document parts into files by providing your own stream objects.

To save document parts into streams instead of files, use the property.

Gets the document object that is being saved. Gets or sets the file name (without path) where the document part will be saved to.

This property allows you to redefine how the document part file names are generated during export to HTML or EPUB.

When the callback is invoked, this property contains the file name that was generated by Aspose.Words. You can change the value of this property to save the document part into a different file. Note that the file name for each part must be unique.

must contain only the file name without the path. Aspose.Words determines the path for saving using the document file name. If output document file name was not specified, for instance when saving to a stream, this file name is used only for referencing document parts. The same is true when saving to EPUB format.

Specifies whether Aspose.Words should keep the stream open or close it after saving a document part.

Default is false and Aspose.Words will close the stream you provided in the property after writing a document part into it. Specify true to keep the stream open. Please note that the main output stream provided in the call to or will never be closed by Aspose.Words even if is set to false.

Allows to specify the stream where the document part will be saved to.

This property allows you to save document parts to streams instead of files during HTML export.

The default value is null. When this property is null, the document part will be saved to a file specified in the property.

When saving to a stream in HTML format is requested by or and first document part is about to be saved, Aspose.Words suggests here the main output stream initially passed by the caller.

When saving to EPUB format that is a container format based on HTML, cannot be specified because all subsidiary parts will be encapsulated into a single output package.

Specifies how the document is split into parts when saving to or format.

is a set of flags which can be combined. For instance you can split the document at page breaks and heading paragraphs in the same export operation.

Different criteria can partially overlap. For instance, Heading 1 style is frequently given property so it falls under two criteria: and . Some section breaks can cause page breaks and so on. In typical cases specifying only one flag is the most practical option.

The document is not split. The document is split into parts at explicit page breaks. A page break can be specified by a character, a section break specifying start of new section on a new page, or a paragraph that has its property set to true. The document is split into parts at column breaks. A column break can be specified by a character or a section break specifying start of new section in a new column. The document is split into parts at a section break of any type. The document is split into parts at a paragraph formatted using a heading style Heading 1, Heading 2 etc. Use together with to specify the heading levels (from 1 to the specified level) at which to split. Provides data for the event. When Aspose.Words saves a document to HTML or related formats and is set to true, it saves each font subject for export into a separate file. controls whether particular font resource should be exported and how. also allows to redefine how font file names are generated or to completely circumvent saving of fonts into files by providing your own stream objects. To decide whether to save a particular font resource, use the property. To save fonts into streams instead of files, use the property. Gets the document object that is being saved. Indicates the current font family name. Indicates whether the current font is bold. Indicates whether the current font is italic. Gets the original font file name with an extension.

This property contains the original file name of the current font if it is known. Otherwise it can be an empty string.

Gets the original font file size.

This property contains the original file size of the current font if it is known. Otherwise it can be zero.

Allows to specify whether the current font will be exported as a font resource. Default is true. Allows to specify whether the current font will be subsetted before exporting as a font resource.

Fonts can be exported as complete original font files or subsetted to include only the characters that are used in the document. Subsetting allows to reduce the resulting font resource size.

By default, Aspose.Words decides whether to perform subsetting or not by comparing the original font file size with the one specified in . You can override this behavior for individual fonts by setting the property.
Gets or sets the file name (without path) where the font will be saved to. This property allows you to redefine how the font file names are generated during export to HTML. When the event is fired, this property contains the file name that was generated by Aspose.Words. You can change the value of this property to save the font into a different file. Note that file names must be unique.

Aspose.Words automatically generates a unique file name for every embedded font when exporting to HTML format. How the font file name is generated depends on whether you save the document to a file or to a stream.

When saving a document to a file, the generated font file name looks like <document base file name>.<original file name><optional suffix>.<extension>.

When saving a document to a stream, the generated font file name looks like Aspose.Words.<document guid>.<original file name><optional suffix>.<extension>.

must contain only the file name without the path. Aspose.Words determines the path for saving using the document file name, the and properties.
Specifies whether Aspose.Words should keep the stream open or close it after saving a font. Default is false and Aspose.Words will close the stream you provided in the property after writing a font into it. Specify true to keep the stream open. Allows to specify the stream where the font will be saved to. This property allows you to save fonts to streams instead of files during HTML export. The default value is null. When this property is null, the font will be saved to a file specified in the property. Can be used to specify additional options when saving a document into the , or format. Initializes a new instance of this class that can be used to save a document in the format. Initializes a new instance of this class that can be used to save a document in the , or format. Can be , or . Specifies the format in which the document will be saved if this save options object is used. Can be , or . Specifies whether negative left and right indents of paragraphs are normalized when saving to HTML, MHTML or EPUB. Default value is false. When negative indent is not allowed, it is exported as zero margin to HTML. When negative indent is allowed, a paragraph might appear partially outside of the browser window. Specifies the path and the name of the Cascading Style Sheet (CSS) file written when a document is exported to HTML. Default is an empty string. This property has effect only when saving a document to HTML format and external CSS style sheet is requested using . If this property is empty, the CSS file will be saved into the same folder and with the same name as the HTML document but with the ".css" extension. If only path but no file name is specified in this property, the CSS file will be saved into the specified folder and will have the same name as the HTML document but with the ".css" extension. If the folder specified by this property doesn't exist, it will be created automatically before the CSS file is saved. Another way to specify a folder where external CSS file is saved is to use . Specifies how CSS (Cascading Style Sheet) styles are exported to HTML, MHTML or EPUB. Default value is for HTML/MHTML and for EPUB. Saving CSS style sheet into an external file is only supported when saving to HTML. When you are exporting to one of the container formats (EPUB or MHTML) and specifying , CSS file will be encapsulated into the output package. Specifies a prefix which is added to all CSS class names. Default value is an empty string and generated CSS class names have no common prefix. If this value is not empty, all CSS classes generated by Aspose.Words will start with the specified prefix. This might be useful, for example, if you add custom CSS to generated documents and want to prevent class name conflicts. If the value is not null or empty, it must be a valid CSS identifier. The value is not empty and is not a valid CSS identifier. Allows to control how document parts are saved when a document is saved to HTML or EPUB. Allows to control how CSS styles are saved when a document is saved to HTML, MHTML or EPUB. Specifies how the document should be split when saving to or format. Default is for HTML and for EPUB. Normally you would want a document saved to HTML as a single file. But in some cases it is preferable to split the output into several smaller HTML pages. When saving to HTML format these pages will be output to individual files or streams. When saving to EPUB format they will be incorporated into corresponding packages. A document cannot be split when saving in the MHTML format. Specifies the maximum level of headings at which to split the document. Default value is 2. When includes and this property is set to a value from 1 to 9, the document will be split at paragraphs formatted using Heading 1, Heading 2 , Heading 3 etc. styles up to the specified heading level. By default, only Heading 1 and Heading 2 paragraphs cause the document to be split. Setting this property to zero will cause the document not to be split at heading paragraphs at all. Specifies the encoding to use when exporting to HTML, MHTML or EPUB. Default value is new UTF8Encoding(false) (UTF-8 without BOM). Specifies the maximum level of headings populated to the navigation map when exporting to IDPF EPUB format. Default value is 3. Navigation map in IDPF EPUB format allows user agents to provide easy way of navigation through the document structure. Usually navigation points correspond to headings in the document. To populate headings up to level N assign this value to . By default, three levels of headings are populated: paragraphs of styles Heading 1, Heading 2 and Heading 3. You can set this property to a value from 1 to 9 to request corresponding maximum level. Setting it to zero will reduce navigation map to only document root or roots of document parts. Specifies whether to export built-in and custom document properties to HTML, MHTML or EPUB. Default value is false. Specifies whether font resources should be exported to HTML, MHTML or EPUB. Default is false. Exporting font resources allows for consistent document rendering independent of the fonts available in a given user's environment. If is set to true, main HTML document will refer to every font via the CSS 3 @font-face at-rule and fonts will be output as separate files. When exporting to IDPF EPUB or MHTML formats, fonts will be embedded into the corresponding package along with other subsidiary files. If is set to true, fonts will not be saved to separate files. Instead, they will be embedded into @font-face at-rules in Base64 encoding.

Important! When exporting font resources, font licensing issues should be considered. Authors who want to use specific fonts via a downloadable font mechanism must always carefully verify that their intended use is within the scope of the font license. Many commercial fonts presently do not allow web downloading of their fonts in any form. License agreements that cover some fonts specifically note that usage via @font-face rules in CSS style sheets is not allowed. Font subsetting can also violate license terms.

Specifies whether fonts resources should be embedded to HTML in Base64 encoding. Default is false. By default, fonts are written to separate files. If this option is set to true, fonts will be embedded into the document's CSS in Base64 encoding. Specifies how headers and footers are output to HTML, MHTML or EPUB. Default value is for HTML/MHTML and for EPUB. It is hard to meaningfully output headers and footers to HTML because HTML is not paginated. When this property is , Aspose.Words exports only primary headers and footers at the beginning and the end of each section. When it is only first primary header and the last primary footer (including linked to previous) are exported. You can disable export of headers and footers altogether by setting this property to . Specifies whether images are saved in Base64 format to HTML, MHTML or EPUB. Default is false. When this property is set to true image data is exported directly on the img elements and separate files are not created. Specifies whether language information is exported to HTML, MHTML or EPUB. Default is false. When this property is set to true Aspose.Words outputs lang HTML attribute on the document elements that specify language. This can be needed to preserve language related semantics. Controls how list labels are output to HTML, MHTML or EPUB. Default value is . Specifies in what format metafiles are saved when exporting to HTML, MHTML, or EPUB. Default value is , meaning that metafiles are rendered to raster PNG images. Metafiles are not natively displayed by HTML browsers. By default, Aspose.Words converts WMF and EMF images into PNG files when exporting to HTML. Other options are to convert metafiles to SVG images or to export them as is without conversion. Some image transforms, in particular image cropping, will not be applied to metafile images if they are exported to HTML without conversion. Specifies whether page setup is exported to HTML, MHTML or EPUB. Default is false. Each in Aspose.Words document model provides page setup information via class. When you export a document to HTML format you might need to keep this information for further usage. In particular, page setup might be important for rendering to paged media (printing) or subsequent conversion to the native Microsoft Word file formats (DOCX, DOC, RTF, WML). In most cases HTML is intended for viewing in browsers where pagination is not performed. So this feature is inactive by default. Specifies whether page margins is exported to HTML, MHTML or EPUB. Default is false. Aspose.Words does not show area of page margins by default. If any elements are completely or partially clipped by the document edge the displayed area can be extended with this option. Specifies whether font sizes should be output in relative units when saving to HTML, MHTML or EPUB. Default is false. In many existing documents (HTML, IDPF EPUB) font sizes are specified in relative units. This allows applications to adjust text size when viewing/processing documents. For instance, Microsoft Internet Explorer has "View->Text Size" submenu, Adobe Digital Editions has two buttons: Increase/Decrease Text Size. If you expect this functionality to work then set property to true. Aspose Words document model contains and operates only with absolute font size units. Relative units need additional logic to be recalculated from some initial (standard) size. Font size of Normal document style is taken as standard. For instance, if Normal has 12pt font and some text is 18pt then it will be output as 1.5em. to the HTML. When this option is enabled, document elements other than text will still have absolute sizes. Also some text-related attributes might be expressed absolutely. In particular, line spacing specified with "exactly" rule might produce unwanted results when scaling text. So the source documents should be properly designed and tested when exporting with set to true. Controls how text input form fields are saved to HTML or MHTML. Default value is false. When set to true, exports text input form fields as normal text. When false, exports Word text input form fields as INPUT elements in HTML. When exporting to EPUB, text input form fields are always saved as text due to requirements of this format. Controls how textboxes represented by are saved to HTML, MHTML or EPUB. Default value is false. When set to true, exports textboxes as inline <svg> elements. When false, exports as <img> elements. Controls how drop-down form fields are saved to HTML or MHTML. Default value is false. When set to true, exports drop-down form fields as normal text. When false, exports drop-down form fields as SELECT element in HTML. When exporting to EPUB, text drop-down form fields are always saved as text due to requirements of this format. Specifies whether to write page numbers to table of contents when saving HTML, MHTML and EPUB. Default value is false. Specifies whether to write the DOCTYPE declaration when saving to HTML or MHTML. When true, writes a DOCTYPE declaration in the document prior to the root element. Default value is false. When saving to EPUB or HTML5 () the DOCTYPE declaration is always written. Aspose.Words always writes well formed HTML regardless of this setting. When true, the beginning of the HTML output document will look like this: <?xml version="1.0" encoding="utf-8" standalone="no" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> Aspose.Words aims to output XHTML according to the XHTML 1.0 Transitional specification, but the output will not always validate against the DTD. Some structures inside a Microsoft Word document are hard or impossible to map to a document that will validate against the XHTML schema. For example, XHTML does not allow nested lists (UL cannot be nested inside another UL element), but in Microsoft Word document multilevel lists occur quite often. Specifies version of HTML standard that should be used when saving the document to HTML or MHTML. Default value is . Specifies whether to write the roundtrip information when saving to HTML, MHTML or EPUB. Default value is true for HTML and false for MHTML and EPUB. Saving of the roundtrip information allows to restore document properties such as tab stops, comments, headers and footers during the HTML documents loading back into a object. When true, the roundtrip information is exported as -aw-* CSS properties of the corresponding HTML elements. When false, causes no roundtrip information to be output into produced files. Specifies a physical folder where all resources like images, fonts, and external CSS are saved when a document is exported to HTML. Default is an empty string. is the simplest way to specify a folder where all resources should be written. Another way is to use individual properties , , and . has a lower priority than folders specified via , , and . For example, if both and are specified, fonts will be saved to , while images and CSS will be saved to . If the folder specified by doesn't exist, it will be created automatically. Specifies the name of the folder used to construct URIs of all resources written into an HTML document. Default is an empty string. is the simplest way to specify how URIs for all resource files should be constructed. Same information can be specified for images and fonts separately via and properties, respectively. However, there is no individual property for CSS. has lower priority than and . For example, if both and are specified, fonts' URIs will be constructed using , while URIs of images and CSS will be constructed using . If is empty, the property value will be used to construct resource URIs. If is set to '.' (dot), resource URIs will contain file names only, without any path. Specifies the physical folder where fonts are saved when exporting a document to HTML. Default is an empty string. When you save a in HTML format and is set to true, Aspose.Words needs to save fonts used in the document as standalone files. allows you to specify where the fonts will be saved and allows to specify how the font URIs will be constructed. If you save a document into a file and provide a file name, Aspose.Words, by default, saves the fonts in the same folder where the document file is saved. Use to override this behavior. If you save a document into a stream, Aspose.Words does not have a folder where to save the fonts, but still needs to save the fonts somewhere. In this case, you need to specify an accessible folder in the property or provide custom streams via the event handler. If the folder specified by doesn't exist, it will be created automatically. is another way to specify a folder where fonts should be saved. Specifies the name of the folder used to construct font URIs written into an HTML document. Default is an empty string. When you save a in HTML format and is set to true, Aspose.Words needs to save fonts used in the document as standalone files. allows you to specify where the fonts will be saved and allows to specify how the font URIs will be constructed. If is not an empty string, then the font URI written to HTML will be FontsFolderAlias + <font file name>. If is an empty string, then the font URI written to HTML will be FontsFolder + <font file name>. If is set to '.' (dot), then the font file name will be written to HTML without path regardless of other options. Alternative way to specify the name of the folder to construct font URIs is to use . Controls which font resources need subsetting when saving to HTML, MHTML or EPUB. Default is 0. allows exporting fonts as subsidiary files or as parts of the output package. If the document uses many fonts, especially with large number of glyphs, then output size can grow significantly. Font subsetting reduces the size of the exported font resource by filtering out glyphs that are not used by the current document. Font subsetting works as follows: By default, all exported fonts are subsetted. Setting to a positive value instructs Aspose.Words to subset fonts which file size is larger than the specified value. Setting the property to suppresses font subsetting.

Important! When exporting font resources, font licensing issues should be considered. Authors who want to use specific fonts via a downloadable font mechanism must always carefully verify that their intended use is within the scope of the font license. Many commercial fonts presently do not allow web downloading of their fonts in any form. License agreements that cover some fonts specifically note that usage via @font-face rules in CSS style sheets is not allowed. Font subsetting can also violate license terms.

Allows to control how fonts are saved when a document is saved to HTML, MHTML or EPUB. Specifies the physical folder where images are saved when exporting a document to HTML format. Default is an empty string. When you save a in HTML format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed. If you save a document into a file and provide a file name, Aspose.Words, by default, saves the images in the same folder where the document file is saved. Use to override this behavior. If you save a document into a stream, Aspose.Words does not have a folder where to save the images, but still needs to save the images somewhere. In this case, you need to specify an accessible folder in the property or provide custom streams via the event handler. If the folder specified by doesn't exist, it will be created automatically. is another way to specify a folder where images should be saved. Specifies the name of the folder used to construct image URIs written into an HTML document. Default is an empty string. When you save a in HTML format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed. If is not an empty string, then the image URI written to HTML will be ImagesFolderAlias + <image file name>. If is an empty string, then the image URI written to HTML will be ImagesFolder + <image file name>. If is set to '.' (dot), then the image file name will be written to HTML without path regardless of other options. Alternative way to specify the name of the folder to construct image URIs is to use . Specifies the output resolution for images when exporting to HTML, MHTML or EPUB. Default is 96 dpi. This property effects raster images when is true and effects metafiles exported as raster images. Some image properties such as cropping or rotation require saving transformed images and in this case transformed images are created in the given resolution. Allows to control how images are saved when a document is saved to HTML, MHTML or EPUB. Specifies whether images are scaled by Aspose.Words to the bounding shape size when exporting to HTML, MHTML or EPUB. Default value is true. An image in a Microsoft Word document is a shape. The shape has a size and the image has its own size. The sizes are not directly linked. For example, the image can be 1024x786 pixels, but shape that displays this image can be 400x300 points. In order to display an image in the browser, it must be scaled to the shape size. The property controls where the scaling of the image takes place: in Aspose.Words during export to HTML or in the browser when displaying the document. When is true, the image is scaled by Aspose.Words using high quality scaling during export to HTML. When is false, the image is output with its original size and the browser has to scale it. In general, browsers do quick and poor quality scaling. As a result, you will normally get better display quality in the browser and smaller file size when is true, but better printing quality and faster conversion when is false. Controls how table, row and cell widths are exported to HTML, MHTML or EPUB. Default value is . In the HTML format, table, row and cell elements (<table>, <tr>, <th>, <td>) can have their widths specified either in relative (percentage) or in absolute units. In a document in Aspose.Words, tables, rows and cells can have their widths specified using either relative or absolute units too. When you convert a document to HTML using Aspose.Words, you might want to control how table, row and cell widths are exported to affect how the resulting document is displayed in the visual agent (e.g. a browser or viewer). Use this property as a filter to specify what table widths values are exported into the destination document. For example, if you are converting a document to EPUB and intend to view the document on a mobile reading device, then you probably want to avoid exporting absolute width values. To do this you need to specify the output mode or so the viewer on the mobile device can layout the table to fit the width of the screen as best as it can. Controls how OfficeMath objects are exported to HTML, MHTML or EPUB. Default value is HtmlOfficeMathOutputMode.Image. Specifies whether original URL should be used as the URL of the linked images. Default value is false. If value is set to true value is used as the URL of linked images and linked images are not loaded into document's folder or . If value is set to false linked images are loaded into document's folder or and URL of each linked image is constructed depending on document's folder, and properties. Specifies whether to use CID (Content-ID) URLs to reference resources (images, fonts, CSS) included in MHTML documents. Default value is false. This option affects only documents being saved to MHTML. By default, resources in MHTML documents are referenced by file name (for example, "image.png"), which are matched against "Content-Location" headers of MIME parts. This option enables an alternative method, where references to resource files are written as CID (Content-ID) URLs (for example, "cid:image.png") and are matched against "Content-ID" headers. In theory, there should be no difference between the two referencing methods and either of them should work fine in any browser or mail agent. In practice, however, some agents fail to fetch resources by file name. If your browser or mail agent refuses to load resources included in an MTHML document (doesn't show images or doesn't load CSS styles), try exporting the document with CID URLs. Specifies whether font family names used in the document are resolved and substituted according to when being written into HTML-based formats. By default, this option is set to false and font family names are written to HTML as specified in source documents. That is, are ignored and no resolution or substitution of font family names is performed. If this option is set to true, Aspose.Words uses to resolve each font family name specified in a source document into the name of an available font family, performing font subsitution as required. Implement this interface if you want to receive notifications and control how Aspose.Words saves document parts when exporting a document to or format. Called when Aspose.Words is about to save a document part. Implement this interface if you want to receive notifications and control how Aspose.Words saves fonts when exporting a document to HTML format. Called when Aspose.Words is about to save a font resource. Specifies the color mode for the generated images of document pages. The pages of the document will be rendered as color images. The pages of the document will be rendered as grayscale images. The pages of the document will be rendered as black and white images. Specifies the pixel format for the generated images of document pages. 16 bits per pixel, RGB. 16 bits per pixel, RGB. 16 bits per pixel, ARGB. 24 bits per pixel, RGB. 32 bits per pixel, RGB. 32 bits per pixel, ARGB. 32 bits per pixel, ARGB, premultiplied alpha. 48 bits per pixel, RGB. 64 bits per pixel, ARGB. 64 bits per pixel, ARGB, premultiplied alpha. 1 bit per pixel, Indexed. The Aspose.Words.Saving namespace provides classes and enumerations that allow to specify additional options for saving or converting documents. Can be used to specify additional options when saving a document into the or format. At the moment provides only the property, but in the future will have other options added, such as an encryption password or digital signature settings. Initializes a new instance of this class that can be used to save a document in the format. Initializes a new instance of this class that can be used to save a document in the format encrypted with a password. Initializes a new instance of this class that can be used to save a document in the or format. Can be or . Specifies the format in which the document will be saved if this save options object is used. Can be or . Specifies whether export should correspond to ODT specification 1.1 strictly. OOo 3.0 displays files correctly when they contain elements and attributes of ODT 1.2. Use "false" for this purpose, or "true" for strict conformity of specification 1.1. The default value is false. Allows to specify units of measure to apply to document content. The default value is Open Office uses centimeters when specifying lengths, widths and other measurable formatting and content properties in documents whereas MS Office uses inches. Gets or sets a password to encrypt document. In order to save document without encryption this property should be null or empty string. Allows to specify which OOXML specification will be used when saving in the DOCX format. ECMA-376 1st Edition, 2006. ISO/IEC 29500:2008 Transitional compliance level. ISO/IEC 29500:2008 Strict compliance level. Can be used to specify additional options when saving a document into the , , , or format. Initializes a new instance of this class that can be used to save a document in the format. Initializes a new instance of this class that can be used to save a document in the , , , or format. Can be , , , or . Specifies the format in which the document will be saved if this save options object is used. Can be , , , or . Gets/sets a password to encrypt document using ECMA376 Standard encryption algorithm. In order to save document without encryption this property should be null or empty string. Specifies the OOXML version for the output document. The default value is . Keeps original representation of legacy control characters. Can be used to specify additional options when saving a document into the format. Initializes a new instance of this class that can be used to save a document in the format. Creates a deep clone of this object. Specifies the format in which the document will be saved if this save options object is used. Can only be . Allows to specify outline options. Specifies compression type to be used for all textual content in the document. Default is . Specifies the PDF standards compliance level for output documents. Default is . Gets or sets a value determining the quality of the JPEG images inside PDF document. Has effect only when a document contains JPEG images.

Use this property to get or set the quality of the images inside a document when saving in PDF format. The value may vary from 0 to 100 where 0 means worst quality but maximum compression and 100 means best quality but minimum compression. If quality is 100 and source image is JPEG, it means no compression - original bytes will be saved.

The default value is 100.

Specifies whether to preserve Microsoft Word form fields as form fields in PDF or convert them to text. Default is false. Microsoft Word form fields include text input, drop down and check box controls. When set to false, these fields will be exported as text to PDF. When set to true, these fields will be exported as PDF form fields. When exporting form fields to PDF as form fields, some formatting loss might occur because PDF form fields do not support all features of Microsoft Word form fields. Specifies whether to convert footnote/endnote references in main text story into active hyperlinks. When clicked the hyperlink will lead to the corresponding footnote/endnote. Default is false. Gets or sets the details for encrypting the output PDF document. The default value is null and the output document will not be encrypted. When this property is set to a valid object, then the output PDF document will be encrypted. Note that encryption cannot be used when PDF/A compliance is set as this compliance does not permit encryption."); Gets or sets the details for signing the output PDF document. At the moment digitally signing PDF documents is only available on .NET 2.0 or higher. The default value is null and the output document will not be signed. When this property is set to a valid object, then the output PDF document will be digitally signed. Controls how fonts are embedded into the resulting PDF documents. The default value is false, which means the fonts are subsetted before embedding. Subsetting is useful if you want to keep the output file size smaller. Subsetting removes all unused glyphs from a font. When this value is set to true, a complete font file is embedded into PDF without subsetting. This will result in larger output files, but can be a useful option when you want to edit the resulting PDF later (e.g. add more text). Some fonts are large (several megabytes) and embedding them without subsetting will result in large output documents. Specifies the font embedding mode. The default value is . This setting works only for the text in ANSI (Windows-1252) encoding. If the document contains non-ANSI text then corresponding fonts will be embedded regardless of this setting. Note that when saving to PDF/A this option must be set to as all fonts must be embedded in the PDF file. Gets or sets a value determining whether or not to substitute TrueType fonts Arial, Times New Roman, Courier New and Symbol with core PDF Type 1 fonts. The default value is false. When this value is set to true Arial, Times New Roman, Courier New and Symbol fonts are replaced in PDF document with corresponding core Type 1 font. Core PDF fonts, or their font metrics and suitable substitution fonts, are required to be available to any PDF viewer application. This setting works only for the text in ANSI (Windows-1252) encoding. Non-ANSI text will be written with embedded TrueType font regardless of this setting. Settings core fonts to true is not allowed when saving to PDF/A as this compliance requires all fonts to be embedded. This option has a higher priority then option. Gets or sets a value determining the way are exported to PDF file. Default value is . Gets or sets a value determining what type of zoom should be applied when a document is opened with a PDF viewer. The default value is , i.e. no fit is applied. Gets or sets a value determining zoom factor (in percentages) for a document. This value is used only if is set to . Specifies compression type to be used for all images in the document. Default is . Using lets you control quality of images in the output document through the property. Using provides the fastest conversion speed when compared to the performance of other compression types. Gets or sets a value determining whether hyperlinks in the output Pdf document are forced to be opened in a new window (or tab) of a browser. The default value is false. When this value is set to true hyperlinks are saved using JavaScript code. JavaScript code is app.launchURL("URL", true);, where URL is a hyperlink. Note that if this option is set to true hyperlinks can't work in some PDF readers e.g. Chrome, Firefox. Gets or sets a value determining whether or not to export document structure. This value is ignored when saving to PDF/A-1a because document structure is required for this compliance. Note that exporting the document structure significantly increases the memory consumption, especially for the large documents. Gets or sets a boolean value indicating whether the document should be saved using a booklet printing layout, if it is specified via . If this option is specified, page range set via and is ignored when saving. This behavior matches MS Word. If book fold printing settings are not specified in page setup, this option will have no effect. Allows to specify downsample options. Specifies how the PDF document should be displayed when opened in the PDF reader. The default value is . Specifies how the color space will be selected for the images in PDF document. The default value is . If value is specified, option is ignored and Flate compression is used for all images in the document. Gets or sets a value determining whether or not to preblend transparent images with black background color. Preblending images may improve PDF document visual appearance in Adobe Reader and remove anti-aliasing artifacts. In order to properly display preblended images, PDF viewer application must support /Matte entry in soft-mask image dictionary. Also preblending images may decrease PDF rendering performance. The default value is false. A flag specifying whether the window’s title bar should display the document title taken from the Title entry of the document information dictionary. If false, the title bar should instead display the name of the PDF file containing the document. The default value is false. Gets or sets a value determining how DrawingML effects are rendered. The default value is . This property is used when the document is exported to fixed page formats.If is set to or , property always returns . A flag specifying whether URI should be escaped before writing. Note that if this option is set to false hyperlinks are written "as is", so valid (escaped) URI should be provided in document's model. The default value is true. Determines how bookmarks in headers/footers are exported. The default value is . A flag specifying whether to write additional text positioning operators or not. If true, additional text positioning operators are written to the output PDF. This may help to overcome issues with inaccurate text positioning with some printers. The downside is the increased PDF document size. The default value is false. This option is introduced per enterprise customer request. See WORDSNET-18027 for more details. Can be used to specify additional options when saving a document into the format. Specifies the format in which the document will be saved if this save options object is used. Can only be . Allows to make output RTF documents smaller in size, but if they contain RTL (right-to-left) text, it will not be displayed correctly. Default value is false. If the document that you want to convert to RTF using Aspose.Words does not contain right-to-left text in languages like Arabic, then you can set this option to true to reduce the size of the resulting RTF. Specifies whether the keywords for "old readers" are written to RTF or not. This can significantly affect the size of the RTF document. Default value is true. "Old readers" are pre-Microsoft Word 97 applications and also WordPad. When this option is true Aspose.Words writes additional RTF keywords. These keywords allow the document to be displayed correctly when opened in an "old reader" application, but can significantly increase the size of the document. If you set this option to false, then only images in WMF, EMF and BMP formats will be displayed in "old readers". This is an abstract base class for classes that allow the user to specify additional options when saving a document into a particular format. An instance of the SaveOptions class or any derived class is passed to the stream or string overloads for the user to define custom options when saving a document. Creates a save options object of a correct class. Creates a save options object of a class suitable for the specified save format. The save format for which to create a save options object. An object of a class that derives from . Creates a save options object of a class suitable for the file extension specified in the given file name. The extension of this file name determines the class of the save options object to create. An object of a class that derives from . Specifies the format in which the document will be saved if this save options object is used. Specifies the folder for temporary files used when saving to a DOC or DOCX file. By default this property is null and no temporary files are used. When Aspose.Words saves a document, it needs to create temporary internal structures. By default, these internal structures are created in memory and the memory usage spikes for a short period while the document is being saved. When saving is complete, the memory is freed and reclaimed by the garbage collector. If you are saving a very large document (thousands of pages) and/or processing many documents at the same time, then the memory spike during saving can be significant enough to cause the system to throw . Specifying a temporary folder using will cause Aspose.Words to keep the internal structures in temporary files instead of memory. It reduces the memory usage during saving, but will decrease the save performance. The folder must exist and be writable, otherwise an exception will be thrown. Aspose.Words automatically deletes all temporary files when saving is complete. When true, pretty formats output where applicable. Default value is false.

Set to true to make HTML, MHTML, EPUB, WordML, RTF, DOCX and ODT output human readable. Useful for testing or debugging.

Gets or sets a value determining whether or not to use anti-aliasing for rendering. The default value is false. When this value is set to true anti-aliasing is used for rendering. This property is used when the document is exported to the following formats: , , , , . When the document is exported to the , and formats this option is used for raster images. Gets or sets a value determining whether or not to use high quality (i.e. slow) rendering algorithms. The default value is false. This property is used when the document is exported to image formats: , , , , . Gets or sets value determining whether content of is updated before saving. The default value is true. Gets or sets a value determining how colors are rendered. The default value is . This property is used when the document is exported to fixed page formats. Gets or sets a value determining how DrawingML shapes are rendered. The default value is . This property is used when the document is exported to fixed page formats. Gets or sets a value determining how DrawingML effects are rendered. The default value is . This property is used when the document is exported to fixed page formats. Gets or sets path to default template (including filename). Default value for this property is empty string (). If specified, this path is used to load template when is true, but is empty. Gets or sets a value determining if fields of certain types should be updated before saving the document to a fixed page format. Default value for this property is true. Allows to specify whether to mimic or not MS Word behaviour. Gets or sets a value determining whether the property is updated before saving. Gets or sets value determining if memory optimization should be performed before saving the document. Default value for this property is false. Setting this option to true can significantly decrease memory consumption while saving large documents at the cost of slower saving time. So far only attribute interning procedure is bound to this property but I think we can make more memory optimization in the future. That's why I decided to use more general property name. Can be used to specify additional options when saving a document into the format. Specifies the format in which the document will be saved if this save options object is used. Can only be . Specifies whether the program should simplify list labels in case of complex label formatting not being adequately represented by plain text. If set to true, numbered list labels are written in simple numeric format and itemized list labels as simple ASCII characters. The default value is false. Specifies whether to add bi-directional marks before each BiDi run when exporting in plain text format. The default value is false. Gets a ListIndentation object that specifies how many and which character to use for indentation of list levels. By default it is zero count of character '\0', that means no indentation. Can be used to specify additional options when saving a document into the format. At the moment provides only the property, but in the future may have other options added. Specifies the format in which the document will be saved if this save options object is used. Can only be . Can be used to specify additional options when saving a document into the or format. Initializes a new instance of this class that can be used to save a document in the format. Initializes a new instance of this class that can be used to save a document in the or format. Can be or . Specifies the format in which the document will be saved if this save options object is used. Can only be . Specifies the physical folder where images are saved when exporting a document to XAML format. Default is an empty string.

When you save a in XAML format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

If you save a document into a file and provide a file name, Aspose.Words, by default, saves the images in the same folder where the document file is saved. Use to override this behavior.

If you save a document into a stream, Aspose.Words does not have a folder where to save the images, but still needs to save the images somewhere. In this case, you need to specify an accessible folder in the property or provide custom streams via the event handler.

Specifies the name of the folder used to construct image URIs written into an XAML document. Default is an empty string.

When you save a in XAML format, Aspose.Words needs to save all images embedded in the document as standalone files. allows you to specify where the images will be saved and allows to specify how the image URIs will be constructed.

If is not an empty string, then the image URI written to XAML will be ImagesFolderAlias + <image file name>.

If is an empty string, then the image URI written to XAML will be ImagesFolder + <image file name>.

If is set to '.' (dot), then the image file name will be written to XAML without path regardless of other options.

Allows to control how images are saved when a document is saved to XAML. Can be used to specify additional options when saving a document into the format. Initializes a new instance of this class that can be used to save a document in the format. Initializes a new instance of this class that can be used to save a document in the or format. Specifies the format in which the document will be saved if this save options object is used. Can only be . Allows to specify outline options. Note that ExpandedOutlineLevels option will not work when saving to XPS. Gets or sets a boolean value indicating whether the document should be saved using a booklet printing layout, if it is specified via . If this option is specified, page range set via and is ignored when saving. This behavior matches MS Word. If book fold printing settings are not specified in page setup, this option will have no effect. This object is returned to the caller after a document is saved and contains additional information that has been generated or calculated during the save operation. The caller can use or ignore this object. Returns the Content-Type string (Internet Media Type) that identifies the type of the saved document. Specifies how CSS (Cascading Style Sheet) styles are exported to HTML. CSS styles are written inline (as a value of the style attribute on every element). CSS styles are written separately from the content in a style sheet embedded in the HTML file. CSS styles are written separately from the content in a style sheet in an external file. The HTML file links the style sheet. Provides data for the event. By default, when Aspose.Words saves a document to HTML, it saves each image into a separate file. Aspose.Words uses the document file name and a unique number to generate unique file name for each image found in the document. allows to redefine how image file names are generated or to completely circumvent saving of images into files by providing your own stream objects. To apply your own logic for generating image file names use the , and properties. To save images into streams instead of files, use the property. Gets the document object that is currently being saved. Gets the object corresponding to the shape or group shape that is about to be saved. can be fired while saving either a shape or a group shape. That's why the property has type. You can check whether it's a group shape comparing with or by casting it to one of derived classes: or . Aspose.Words uses the document file name and a unique number to generate unique file name for each image found in the document. You can use the property to generate a "better" file name by examining shape properties such as (Shape only), (Shape only) and . Of course you can build file names using any other properties or criteria but note that subsidiary file names must be unique within the export operation. Some images in the document can be unavailable. To check image availability use the property. Returns true if the current image is available for export. Some images in the document can be unavailable, for example, because the image is linked and the link is inaccessible or does not point to a valid image. In this case Aspose.Words exports an icon with a red cross. This property returns true if the original image is available; returns false if the original image is not available and a "no image" icon will be offered for save. When saving a group shape or a shape that doesn't require any image this property is always true. Gets or sets the file name (without path) where the image will be saved to. This property allows you to redefine how the image file names are generated during export to HTML. When the event is fired, this property contains the file name that was generated by Aspose.Words. You can change the value of this property to save the image into a different file. Note that file names must be unique.

Aspose.Words automatically generates a unique file name for every embedded image when exporting to HTML format. How the image file name is generated depends on whether you save the document to a file or to a stream.

When saving a document to a file, the generated image file name looks like <document base file name>.<image number>.<extension>.

When saving a document to a stream, the generated image file name looks like Aspose.Words.<document guid>.<image number>.<extension>.

must contain only the file name without the path. Aspose.Words determines the path for saving and the value of the src attribute for writing to HTML using the document file name, the and properties.
Specifies whether Aspose.Words should keep the stream open or close it after saving an image. Default is false and Aspose.Words will close the stream you provided in the property after writing an image into it. Specify true to keep the stream open. Allows to specify the stream where the image will be saved to. This property allows you to save images to streams instead of files during HTML. The default value is null. When this property is null, the image will be saved to a file specified in the property. Using you cannot substitute one image with another. It is intended only for control over location where to save images. Implement this interface if you want to control how Aspose.Words saves images when saving a document to HTML. May be used by other formats. Called when Aspose.Words saves an image to HTML. Specifies the PDF standards compliance level. The output file will comply with the PDF 1.5 standard. The output file will comply with the PDF/A-1a standard. This level includes all the requirements of PDF/A-1b and additionally requires that document structure be included (also known as being "tagged"), with the objective of ensuring that document content can be searched and repurposed. Note that exporting the document structure significantly increases the memory consumption, especially for the large documents. The output file will comply with the PDF/A-1b standard. PDF/A-1b has the objective of ensuring reliable reproduction of the visual appearance of the document. Specifies a type of compression applied to all content in the PDF file except images. No compression. Flate (ZIP) compression. Specifies what type of compression to apply when saving page images into a TIFF file. Specifies no compression. Specifies the RLE compression scheme. Specifies the LZW compression scheme. In Java emulated by Deflate (Zip) compression. Specifies the CCITT3 compression scheme. Specifies the CCITT4 compression scheme. Defines properties specific to a list label. Implements interface treating list level direct formatting as direct run attributes since they take priority over the other sources. contains the most common textual representation of the list label in its property. There are some classes which need different textual representation of list labels. Use 's property which introduced to provide enough information to build custom labels from the inside of such classes. Both and are updated by . Gets the list label font. Gets a string representation of list label. Gets a numeric value for this label. Use the method to update the value of this property. Represents formatting of a list.

A list in a Microsoft Word document is a set of list formatting properties. Each list can have up to 9 levels and formatting properties, such as number style, start value, indent, tab position etc are defined separately for each level.

A object always belongs to the collection.

To create a new list, use the Add methods of the collection.

To modify formatting of a list, use objects found in the collection.

To apply or remove list formatting from a paragraph, use .

Compares with the specified list. Gets the unique identifier of the list.

You do not normally need to use this property. But if you use it, you normally do so in conjunction with the method to find a list by its identifier.

Gets the owner document.

A list always has a parent document and is valid only in the context of that document.

Returns true when the list contains 9 levels; false when 1 level.

The lists that you create with Aspose.Words are always multi-level lists and contain 9 levels.

Microsoft Word 2003 and later always create multi-level lists with 9 levels. But in some documents, created with earlier versions of Microsoft Word you might encounter lists that have 1 level only.

Gets the collection of list levels for this list.

Use this property to access and modify formatting individual to each level of the list.

RK This might be a bit nasty because it provides access to the terminal list level definitions, e.g. it could return the list level definitions from the list style that is referenced by this list. So if the user modifies the formatting of a list level he could actually be modifying the list style. But let's leave this for now because this property is mostly accessed to actually get the terminal formatting of list levels.
Specifies whether list should be restarted at each section. Default value is false.

This option is supported only in RTF, DOC and DOCX document formats.

This option will be written to DOCX only if is higher then .

Returns true if this list is a definition of a list style.

When this property is true, the property returns the list style that this list defines.

By modifying properties of a list that defines a list style, you modify the properties of the list style.

A list that is a definition of a list style cannot be applied directly to paragraphs to make them numbered.

Returns true if this list is a reference to a list style.

Note, modifying properties of a list that is a reference to list style has no effect. The list formatting specified in the list style itself always takes precedence.

Gets the list style that this list references or defines.

If this list is not associated with a list style, the property will return null.

A list could be a reference to a list style, in this case will be true.

A list could be a definition of a list style, in this case will be true. Such a list cannot be applied to paragraphs in the document directly.

Defines formatting for a list level.

You do not create objects of this class. List level objects are created automatically when a list is created. You access objects via the collection.

Use the properties of to specify list formatting for individual list levels.

Not sure where lvlElt.tplc is stored in the DOC file. Sounds like it is a template code for individual list levels. VA: All tplc are stored in a separate table in a document. They can be seen in binary going one after another. Not sure how to locate them in the document structure though.
Creates picture bullet shape for the current list level. Please note, NumberStyle will be set to Bullet and NumberFormat to "\xF0B7" to properly display picture bullet. Red cross image will be set as picture bullet image upon creating. To change it please use . Deletes picture bullet for the current list level. Default bullet will be shown after deleting. Compares with the specified ListLevel. Returns or sets the starting number for this list level.

Default value is 1.

Returns or sets the number style for this list level. Returns or sets the number format for the list level.

Among normal text characters, the string can contain placeholder characters \x0000 to \x0008 representing the numbers from the corresponding list levels.

For example, the string "\x0000.\x0001)" will generate a list label that looks something like "1.5)". The number "1" is the current number from the 1st list level, the number "5" is the current number from the 2nd list level.

Null is not allowed, but an empty string meaning no number is valid.

Gets or sets the justification of the actual number of the list item.

The list label is justified relative to the property.

True if the level turns all inherited numbers to Arabic, false if it preserves their number style. Sets or returns the list level that must appear before the specified list level restarts numbering. The value of -1 means the numbering will continue. Returns or sets the character inserted after the number for the list level. Specifies character formatting used for the list label. Returns or sets the tab position (in points) for the list level.

Has effect only when is a tab.

Returns or sets the position (in points) of the number or bullet for the list level.

corresponds to LeftIndent plus FirstLineIndent of the paragraph.

Returns or sets the position (in points) for the second line of wrapping text for the list level.

corresponds to LeftIndent of the paragraph.

Gets or sets the paragraph style that is linked to this list level.

This property is null when the list level is not linked to a paragraph style. This property can be set to null.

Returns image data of the picture bullet shape for the current list level. If this level doesn't define picture bullet returns null. Before setting new image for non picture bullet shape, please use method first. Specifies alignment for the list number or bullet.

Used as a value for the property.

The list label is aligned to the left of the number position. The list label is centered at the number position. This list label is aligned to the right of the number position. A collection of list formatting for each level in a list. Gets the enumerator object that will enumerate levels in this list. Gets a list level by index. Gets the number of levels in this list.

There could be 1 or 9 levels in a list.

Stores and manages formatting of bulleted and numbered lists used in a document.

A list in a Microsoft Word document is a set of list formatting properties. The formatting of the lists is stored in the collection separately from the paragraphs of text.

You do not create objects of this class. There is always only one object per document and it is accessible via the property.

To create a new list based on a predefined list template or based on a list style, use the method.

To create a new list with formatting identical to an existing list, use the method.

To make a paragraph bulleted or numbered, you need to apply list formatting to a paragraph by assigning a object to the property of .

To remove list formatting from a paragraph, use the method.

If you know a bit about WordprocessingML, then you might know it defines separate concepts for "list" and "list definition". This exactly corresponds to how list formatting is stored in a Microsoft Word document at the low level. List definition is like a "schema" and list is like an instance of a list definition.

To simplify programming model, Aspose.Words hides the distinction between list and list definition in much the same way like Microsoft Word hides this in its user interface. This allows you to concentrate more on how you want your document to look like, rather than building low-level objects to satisfy requirements of the Microsoft Word file format.

It is not possible to delete lists once they are created in the current version of Aspose.Words. This is similar to Microsoft Word where user does not have explicit control over list definitions.

Gets the enumerator object that will enumerate lists in the document. Creates a new list and adds it to the collection of lists in the document. Creates a new list based on a predefined template and adds it to the collection of lists in the document. The template of the list. The newly created list.

Aspose.Words list templates correspond to the 21 list templates available in the Bullets and Numbering dialog box in Microsoft Word 2003.

All lists created using this method have 9 list levels.

Creates a new list that references a list style and adds it to the collection of lists in the document. The list style. The newly created list.

The newly created list references the list style. If you change the properties of the list style, it is reflected in the properties of the list. Vice versa, if you change the properties of the list, it is reflected in the properties of the list style.

Creates a new list by copying the specified list and adding it to the collection of lists in the document. The source list to copy from. The newly created list.

The source list can be from any document. If the source list belongs to a different document, a copy of the list is created and added to the current document.

If the source list is a reference to or a definition of a list style, the newly created list is not related to the original list style.

Creates a new list by copying the specified list and adding it to the collection of lists in the document. When AW copies only style from other document, AW shouldn't import all dependent styles. Gets a list by a list identifier. The list identifier. Returns the list object. Returns null if a list with the specified identifier was not found.

You don't normally need to use this method. Most of the time you apply list formatting to paragraphs just by settings the property of the object.

Gets the count of numbered and bulleted lists in the document. Gets a list by index. Gets a list by name. Returns null if not found. MS Word does not give an ability to create more than one list based on named through its GUI and AW does not set anywhere outside of file reading routines so name can be the unique identifier for a list. Gets the owner document. Specifies one of the predefined list formats available in Microsoft Word.

A list template value is used as a parameter into the method.

Aspose.Words list templates correspond to the 21 list templates available in the Bullets and Numbering dialog box in Microsoft Word 2003.

Default bulleted list with 9 levels. Bullet of the first level is a disc, bullet of the second level is a circle, bullet of the third level is a square. Then formatting repeats for the remaining levels.

Each level is indented to the right by 0.25" relative to the previous level.

Corresponds to the 1st bulleted list template in the Bullets and Numbering dialog box in Microsoft Word.

Same as BulletDefault.

Corresponds to the 1st bulleted list template in the Bullets and Numbering dialog box in Microsoft Word.

The bullet of the first level is a circle. The remaining levels are same as in BulletDefault.

Corresponds to the 2nd bulleted list template in the Bullets and Numbering dialog box in Microsoft Word.

The bullet of the first level is a square. The remaining levels are same as in BulletDefault.

Corresponds to the 3rd bulleted list template in the Bullets and Numbering dialog box in Microsoft Word.

The bullet of the first level is a 4-diamond Wingding character. The remaining levels are same as in BulletDefault.

Corresponds to the 5th bulleted list template in the Bullets and Numbering dialog box in Microsoft Word.

The bullet of the first level is an arrow head Wingding character. The remaining levels are same as in BulletDefault.

Corresponds to the 6th bulleted list template in the Bullets and Numbering dialog box in Microsoft Word.

The bullet of the first level is a tick Wingding character. The remaining levels are same as in BulletDefault.

Corresponds to the 7th bulleted list template in the Bullets and Numbering dialog box in Microsoft Word.

Default numbered list with 9 levels. Arabic numbering (1., 2., 3., ...) for the first level, lowecase letter numbering (a., b., c., ...) for the second level, lowercase roman numbering (i., ii., iii., ...) for the third level. Then formatting repeats for the remaining levels.

Each level is indented to the right by 0.25" relative to the previous level.

Corresponds to the 1st numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

Same as NumberDefault.

Corresponds to the 1st numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

The number of the first level is "1)". The remaining levels are same as in NumberDefault.

Corresponds to the 2nd numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

The number of the first level is "I.". The remaining levels are same as in NumberDefault.

Corresponds to the 3rd numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

The number of the first level is "A.". The remaining levels are same as in NumberDefault.

Corresponds to the 4th numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

The number of the first level is "a)". The remaining levels are same as in NumberDefault.

Corresponds to the 5th numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

The number of the first level is "a.". The remaining levels are same as in NumberDefault.

Corresponds to the 6th numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

The number of the first level is "i.". The remaining levels are same as in NumberDefault.

Corresponds to the 7th numbered list template in the Bullets and Numbering dialog box in Microsoft Word.

An outline list with levels numbered "1), a), i), (1), (a), (i), 1., a., i.".

Corresponds to the 1st outline list template in the Bullets and Numbering dialog box in Microsoft Word.

An outline list with levels are numbered "1., 1.1., 1.1.1, ...".

Corresponds to the 2nd outline list template in the Bullets and Numbering dialog box in Microsoft Word.

An outline lists with various bullets for different levels.

Corresponds to the 3rd outline list template in the Bullets and Numbering dialog box in Microsoft Word.

An outline list with levels linked to Heading styles.

Corresponds to the 4th outline list template in the Bullets and Numbering dialog box in Microsoft Word.

An outline list with levels linked to Heading styles.

Corresponds to the 5th outline list template in the Bullets and Numbering dialog box in Microsoft Word.

An outline list with levels linked to Heading styles.

Corresponds to the 6th outline list template in the Bullets and Numbering dialog box in Microsoft Word.

An outline list with levels linked to Heading styles.

Corresponds to the 7th outline list template in the Bullets and Numbering dialog box in Microsoft Word.

Specifies the character that separates the list label from the text of the paragraph.

Used as a value for the property.

A tab character is placed between the list label and text of the paragraph. A space character is placed between the list label and text of the paragraph. There is no separator character between the list label and text of the paragraph.

The Aspose.Words.Lists namespace contains classes for working with bulleted and numbered lists defined in a document.

Default font substitution rule. This rule defines single default font name to be used for substitution if the original font is not available. Gets or sets the default font name. The default value is 'Times New Roman'. Font config substitution rule. This rule uses fontconfig utility on Linux (and other Unix-like) platforms to get the substitution if the original font is not available. If fontconfig utility is not available then this rule will be ignored. Check if fontconfig utility is available or not. Resets the cache of fontconfig calling results. Specifies whether the rule is enabled or not. Font info substitution rule. According to this rule Aspose.Words evaluates all the related fields in (Panose, Sig etc) for the missing font and finds the closest match among the available font sources. If is not available for the missing font then nothing will be done. This is an abstract base class for the font substitution rule. Specifies whether the rule is enabled or not. Specifies font substitution mechanism settings. Font substitution process consists of several rules which are checked one by one in specific order. If the first rule can't resolve the font then second rule is checked and so on. The order of the rules is following: 1. Font config substitution rule (disabled by default) 2. Table substitution rule (enabled by default) 3. Font info substitution rule (enabled by default) 4. Default font rule (enabled by default) Note that font info substitution rule will always resolve the font if is available and will override the default font rule. If you want to use the default font rule then you should disable the font info substitution rule. Note that font config substitution rule will resolve the font in most cases and thus overrides all other rules. Settings related to table substitution rule. Settings related to font info substitution rule. Settings related to default font substitution rule. Settings related to font config substitution rule. Base class for user-defined stream font source. In order to use the stream font source you should create a derived class from the and provide implementation of the method. method could be called several times. For the first time it will be called when Aspose.Words scans the provided font sources to get the list of available fonts. Later it may be called if the font is used in the document to parse the font data and to embed the font data to some output formats. may be useful because it allows to load the font data only when it is required and not to store it in the memory for the lifetime. This method should open the stream with font data on demand. Font data stream. The stream will be closed after reading. There is no need to close it explicitly. Returns the type of the font source. Table font substitution rule. This rule defines the list of substitute font names to be used if the original font is not available. Substitutes will be checked for the font name and the (if any). Loads table substitution settings from XML file. Input file name. Loads table substitution settings from XML stream. Input stream. Loads predefined table substitution settings for Windows platform. Loads predefined table substitution settings for Linux platform. Loads predefined table substitution settings for Linux platform. Saves the current table substitution settings to file. Output file name. Saves the current table substitution settings to stream. Output stream. Returns array containing substitute font names for the specified original font name. Original font name. List of alternative font names. Override substitute font names for given original font name. Original font name. List of alternative font names. Adds substitute font names for given original font name. Original font name. List of alternative font names. Specifies font fallback mechanism settings. By default fallback settings are initialized with predefined settings which mimics the Microsoft Word fallback. Loads font fallback settings from XML file. Input file name. Loads fallback settings from XML stream. Input stream. Loads predefined fallback settings which mimics the Microsoft Word fallback and uses Microsoft office fonts. Loads predefined fallback settings which uses Google Noto fonts. Saves the current fallback settings to stream. Output stream. Saves the current fallback settings to file. Output file name. Automatically builds the fallback settings by scanning available fonts. This method may produce non-optimal fallback settings. Fonts are checked by Unicode Character Range fields and not by the actual glyphs presence. Also Unicode ranges are checked individually and several ranges related to single language/script may use different fallback fonts. Specifies information about physical font available to Aspose.Words font engine. Family name of the font. Full name of the font. Version string of the font. Path to the font file if any. Specifies format of particular embedded font inside object. When saving a document to a file, only embedded fonts of corresponding format are written down. Specifies Embedded OpenType (EOT) File Format. This format of embedded fonts used in DOC files. See http://www.w3.org/Submission/EOT for description of the format. Specifies font, embedded as plain copy of OpenType (TrueType) font file. This format of embedded fonts used in Open Office XML format, including DOCX files. Specifies the style of an embedded font inside a object. Specifies the Regular embedded font. Specifies the Bold embedded font. Specifies the Italic embedded font. Specifies the Bold-Italic embedded font. Represents the single TrueType font file stored in the file system. Ctor. Path to font file. Ctor. Path to font file. Font source priority. See the property description for more information. Path to the font file. Returns the type of the font source. Represents the folder that contains TrueType font files. Ctor. Path to folder. Determines whether or not to scan subfolders. Ctor. Path to folder. Determines whether or not to scan subfolders. Font source priority. See the property description for more information. Path to the folder. Determines whether or not to scan the subfolders. Returns the type of the font source. This is an abstract base class for the classes that allow the user to specify various font sources. Returns list of fonts available via this source. Returns the type of the font source. Returns the font source priority. This value is used when there are fonts with the same family name and style in different font sources. In this case Aspose.Words selects the font from the source with the higher priority value. The default value is 0. Specifies the type of a font source. A object that represents single font file. A object that represents folder with font files. A object that represents single font in memory. A object that represents all fonts installed to the system. A object that represents a stream with font data. Represents the single TrueType font file stored in memory. Ctor. Binary font data. Ctor. Binary font data. Font source priority. See the property description for more information. Binary font data. Returns the type of the font source. Represents all TrueType fonts installed to the system. Ctor. Ctor. Font source priority. See the property description for more information. Returns system font folders or empty array if folders are not accessible. On some platforms Aspose.Words could search system fonts not only through folders but in other sources too. For example, on Windows platform Aspose.Words search fonts also in the registry. Returns the type of the font source.

The Aspose.Words.Fonts namespace provides classes and enumerations to access information about fonts used in a document.

Represents the font family. A font family is a set of fonts having common stroke width and serif characteristics. Specifies a generic family name. This name is used when information about a font does not exist or does not matter. The default font is used. Specifies a proportional font with serifs. An example is Times New Roman. Specifies a proportional font without serifs. An example is Arial. Specifies a monospace font with or without serifs. Monospace fonts are usually modern; examples include Pica, Elite, and Courier New. Specifies a font that is designed to look like handwriting; examples include Script and Cursive. Specifies a novelty font. An example is Old English. Represents a collection of fonts used in a document. Items are objects. You do not create instances of this class directly. Use the property to access the collection of fonts defined in the document. Returns an enumerator object that can be used to iterate over all items in the collection. Determines whether the collection contains a font with the given name. Case-insensitive name of the font to locate. True if the item is found in the collection; otherwise, false. Gets the number of elements contained in the collection. Provides access to the collection items. Gets a font with the specified name. Case-insensitive name of the font to locate. Gets a font at the specified index. Zero-based index of the font. Specifies whether or not to embed TrueType fonts in a document when it is saved. Default value for this property is false. Embedding TrueType fonts allows others to view the document with the same fonts that were used to create it, but may substantially increase the document size. This option works for DOC, DOCX and RTF formats only. Specifies whether or not to embed System fonts into the document. Default value for this property is false. This option works only when option is set to true. Setting this property to True is useful if the user is on an East Asian system and wants to create a document that is readable by others who do not have fonts for that language on their system. For example, a user on a Japanese system could choose to embed the fonts in a document so that the Japanese document would be readable on all systems. This option works for DOC, DOCX and RTF formats only. Specifies whether or not to save a subset of the embedded TrueType fonts with the document. Default value for this property is false. This option works only when property is set to true. This option works for DOC, DOCX and RTF formats only. Specifies information about a font used in the document. You do not create instances of this class directly. Use the property to access the collection of fonts defined in a document. Gets a specific embedded font file. Specifies the font format to retrieve. Specifies the font style to retrieve. Returns null if the specified font is not embedded. The pitch indicates if the font is fixed pitch, proportionally spaced, or relies on a default setting. Indicates that this font is a TrueType or OpenType font as opposed to a raster or vector font. Default is true. Gets or sets the font family this font belongs to. Gets or sets the character set for the font. Such charset code is replaced by IANA name of character set in ISO/IEC 29500. We may not know charset codes for some IANA charset names. Also there may be unknown charset codes. For example AW test documents contain the undocumented 0x4E and 0x50 codes. So, now we store the both: charset codes and charset IANA names to be able to write charset as it was read. Gets or sets the PANOSE typeface classification number. PANOSE is a compact 10-byte description of a fonts critical visual characteristics, such as contrast, weight, and serif style. The digits represent Family Kind, Serif Style, Weight, Proportion, Contrast, Stroke Variation, Arm Style, Letterform, Midline, and X-Height. Can be null. Gets the name of the font. Cannot be null. Can be an empty string. Gets or sets the alternate name for the font. Cannot be null. Can be an empty string. Represents the font pitch. The pitch indicates if the font is fixed pitch, proportionally spaced, or relies on a default setting. Specifies that no information is available about the pitch of a font. Specifies that this is a fixed width font. Specifies that this is a proportional width font. Specifies font settings for a document. Aspose.Words uses font settings to resolve the fonts in the document. Fonts are resolved mostly when building document layout or rendering to fixed page formats. But when loading some formats, Aspose.Words also may require to resolve the fonts. For example, when loading HTML documents Aspose.Words may resolve the fonts to perform font fallback. So it is recommended that you set the font settings in when loading the document. Or at least before building the layout or rendering the document to the fixed-page format. By default all documents uses single static font settings instance. It could be accessed by property. Changing font settings is safe at any time from any thread. But it is recommended that you do not change the font settings while processing some documents which uses this settings. This can lead to the fact that the same font will be resolved differently in different parts of the document. Sets the folder where Aspose.Words looks for TrueType fonts when rendering documents or embedding fonts. This is a shortcut to for setting only one font directory. The folder that contains TrueType fonts. True to scan the specified folders for fonts recursively. Sets the folders where Aspose.Words looks for TrueType fonts when rendering documents or embedding fonts. By default, Aspose.Words looks for fonts installed to the system. Setting this property resets the cache of all previously loaded fonts. An array of folders that contain TrueType fonts. True to scan the specified folders for fonts recursively. Sets the sources where Aspose.Words looks for TrueType fonts when rendering documents or embedding fonts. By default, Aspose.Words looks for fonts installed to the system. Setting this property resets the cache of all previously loaded fonts. An array of sources that contain TrueType fonts. Gets a copy of the array that contains the list of sources where Aspose.Words looks for TrueType fonts. The returned value is a copy of the data that Aspose.Words uses. If you change the entries in the returned array, it will have no effect on document rendering. To specify new font sources use the method. A copy of the current font sources. Resets the fonts sources to the system default. Static default font settings. This instance is used by default in a document unless is specified. Settings related to font fallback mechanism. Settings related to font substitution mechanism. When implemented, provides a object that should be used during the update of a particular field. Returns a object to be used during the field's update. The name of the culture requested for the field being updated. The field being updated. The culture object that should be used for the field's update. Specifies the result of the IF field condition evaluation. There is an error in the condition. The condition is true. The condition is false. Represents a table of authorities categories. Gets the default table of authorities categories. Use the property to specify table of authorities categories for a single document. Gets or sets the category heading by category number. Implement this interface if you want to control how the field result is formatted. Called when Aspose.Words applies a numeric format switch, i.e. \# "#.##". The implementation should return null to indicate that the default formatting should be applied. Called when Aspose.Words applies a date/time format switch, i.e. \@ "dd.MM.yyyy". The implementation should return null to indicate that the default formatting should be applied. Called when Aspose.Words applies a capitalization format switch, i.e. \* Upper. The implementation should return null to indicate that the default formatting should be applied. Called when Aspose.Words applies a number format switch, i.e. \* Ordinal. The implementation should return null to indicate that the default formatting should be applied. Specifies information about the user. Gets or sets the user's name. Gets or sets the user's initials. Gets or sets the user's postal address. Default user information. Use the property to specify user information for single document. Builds a complex field argument consisting of fields, nodes, and plain text. Initializes an instance of the class. Adds a plain text to the argument. Adds a node to the argument. Only text level nodes are supported at the moment. Adds a field represented by a to the argument. Builds a field from field code tokens (arguments and switches). Initializes an instance of the class. The type of the field to build. Adds a field's argument. The argument value. Adds a field's argument. The argument value. Adds a field's argument. The argument value. Adds a child field represented by another to the field's code. This overload is used when the argument consists of a single child field. Adds a field's argument represented by to the field's code. This overload is used when the argument consists of a mixture of different parts such as child fields, nodes, and plain text. Adds a field's switch. This overload adds a flag (switch without argument). The switch name. Adds a field's switch. The switch name. The switch value. Adds a field's switch. The switch name. The switch value. Adds a field's switch. The switch name. The switch value. Builds and inserts a field into the document before the specified inline node. A object that represents the inserted field. Builds and inserts a field into the document to the end of the specified paragraph. A object that represents the inserted field. Implements an unknown or unrecognized field. Such fields are normally treated as references to bookmarks. Container class for barcode parameters to pass-through to BarcodeGenerator. The set of parameters are according to DISPLAYBARCODE field options. See the exact list at Bar code type. Data to be encoded. Bar code image height (in twips - 1/1440 inches) Bar code foreground color (0x000000 - 0xFFFFFF) Bar code background color (0x000000 - 0xFFFFFF) Rotation of the barcode symbol. Valid values are [0, 3]. Scaling factor for the symbol. The value is in whole percentage points and the valid values are [10, 1000]. Style of a Point of Sale barcode (barcode types UPCA|UPCE|EAN13|EAN8). The valid values (case insensitive) are [STD|SUP2|SUP5|CASE]. Style of a Case Code for barcode type ITF14. The valid values are [STD|EXT|ADD] Error correction level of QR Code. Valid values are [0, 3]. Whether to display barcode data (text) along with image. Whether to add Start/Stop characters for barcode types NW7 and CODE39. Whether to fix the check digit if it’s invalid. Barcode postal address. Whether is the name of a bookmark. Type of a Facing Identification Mark (FIM). Whether is a U.S. postal address. Implements the MERGEBARCODE field. Mail merge a barcode. Gets or sets the barcode value. Gets or sets the barcode type (QR, etc.) Gets or sets the height of the symbol. The units are in TWIPS (1/1440 inch). Gets or sets the rotation of the barcode symbol. Valid values are [0, 3] Gets or sets a scaling factor for the symbol. The value is in whole percentage points and the valid values are [10, 1000] Gets or sets the foreground color of the barcode symbol. Valid values are in the range [0, 0xFFFFFF] Gets or sets the background color of the barcode symbol. Valid values are in the range [0, 0xFFFFFF] Gets or sets the style of a Point of Sale barcode (barcode types UPCA|UPCE|EAN13|EAN8). The valid values (case insensitive) are [STD|SUP2|SUP5|CASE]. Gets or sets the style of a Case Code for barcode type ITF14. The valid values are [STD|EXT|ADD] Gets or sets an error correction level of QR Code. Valid values are [0, 3]. Gets or sets whether to display barcode data (text) along with image. Gets or sets whether to add Start/Stop characters for barcode types NW7 and CODE39. Gets or sets whether to fix the check digit if it’s invalid. Implements the DISPLAYBARCODE field. Inserts a barcode. Gets or sets the barcode value. Gets or sets the barcode type (QR, etc.) Gets or sets the height of the symbol. The units are in TWIPS (1/1440 inch). Gets or sets the rotation of the barcode symbol. Valid values are [0, 3] Gets or sets a scaling factor for the symbol. The value is in whole percentage points and the valid values are [10, 1000] Gets or sets the foreground color of the barcode symbol. Valid values are in the range [0, 0xFFFFFF] Gets or sets the background color of the barcode symbol. Valid values are in the range [0, 0xFFFFFF] Gets or sets the style of a Point of Sale barcode (barcode types UPCA|UPCE|EAN13|EAN8). The valid values (case insensitive) are [STD|SUP2|SUP5|CASE]. Gets or sets the style of a Case Code for barcode type ITF14. The valid values are [STD|EXT|ADD] Gets or sets an error correction level of QR Code. Valid values are [0, 3]. Gets or sets whether to display barcode data (text) along with image. Gets or sets whether to add Start/Stop characters for barcode types NW7 and CODE39. Gets or sets whether to fix the check digit if it’s invalid. Public interface for barcode custom generator. Implementation should be provided by user. Generator instance should be passed through the property. Generate barcode image using the set of parameters (for DisplayBarcode field). The set of parameters Image representing generated barcode. Generate barcode image using the set of parameters (for old-fashioned Barcode field). The set of parameters Image representing generated barcode. A collection of objects that represents the fields in the specified range. An instance of this collection contains fields which starts fall within the specified range. Removes the specified field from this collection and from the document. A field to remove. Removes a field at the specified index from this collection and from the document. An index into the collection. Removes the whole field by the specified field start. Removes all fields of this collection from the document and from this collection itself. Returns an enumerator object. Returns the number of the fields in the collection. Returns a field at the specified index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

An index into the collection.
Implements the PRINT field. An instruction to send the printer-specific control code characters to the selected printer when the document is printed. Gets or sets the printer-specific control code characters or PostScript instructions. Gets or sets the drawing rectangle that the PostScript instructions operate on. Implements the PRIVATE field. Provides a private storage area. This field is used to store data for documents converted from other file formats. Implements the ADVANCE field. Moves the starting point at which the text that lexically follows the field is displayed to the right or left, up or down, or to a specific horizontal or vertical position. Gets or sets the number of points by which the text that follows the field should be moved down. Gets or sets the number of points by which the text that follows the field should be moved left. Gets or sets the number of points by which the text that follows the field should be moved right. Gets or sets the number of points by which the text that follows the field should be moved up. Gets or sets the number of points by which the text that follows the field should be moved horizontally from the left edge of the column, frame, or text box. Gets or sets the number of points by which the text that follows the field should be moved vertically from the top edge of the page. Implements the FORMCHECKBOX field. Inserts a check box style form field. Implements the FORMDROPDOWN field. Inserts a drop-down list style form field. Implements the INDEX field. Builds an index using the index entries specified by XE fields, and inserts that index at this place in the document. Gets or sets the name of the bookmark that marks the portion of the document used to build the index. Gets or sets the number of columns per page used when building the index. Gets or sets the character sequence that is used to separate sequence numbers and page numbers. Gets or sets the character sequence that is used to separate an index entry and its page number. Gets a value indicating whether a page number separator is overridden through the field's code. Gets or sets an index entry type used to build the index. Gets or sets the character sequence that is used to separate the start and end of a page range. Gets or sets a heading that appears at the start of each set of entries for any given letter. Gets or sets the character sequence that is used to separate cross references and other entries. Gets or sets the character sequence that is used to separate two page numbers in a page number list. Gets or sets a range of letters to which limit the index. Gets or sets whether run subentries into the same line as the main entry. Gets or sets the name of a sequence whose number is included with the page number. Gets a value indicating whether a sequence should be used while the field's result building. Gets or sets whether to enable the use of yomi text for index entries. Gets or sets the language ID used to generate the index. Implements the RD field. Identifies a file to include when you create a table of contents, a table of authorities, or an index with the TOC, TOA, or INDEX field Gets or sets the name of the file to include when generating a table of contents, table of authorities, or index. Gets or sets whether the path is relative to the current document. Implements the TA field. Defines the text and page number for a table of authorities entry, which is used by a TOA field. Gets or sets whether to apply bold formatting to the page number for the entry. Gets or sets the integral entry category, which is a number that corresponds to the order of categories. Gets or sets whether to apply italic formatting to the page number for the entry. Gets or sets the long citation for the entry. Gets or sets the name of the bookmark that marks a range of pages that is inserted as the entry's page number. Gets or sets the short citation for the entry. Implements the TOA field. Builds a table of authorities (that is, a list of the references in a legal document, such as references to cases, statutes, and rules, along with the numbers of the pages on which the references appear) using the entries specified by TA fields. Gets or sets the name of the bookmark that marks the portion of the document used to build the table. Gets or sets the integral category for entries included in the table. Gets or sets the character sequence that is used to separate sequence numbers and page numbers. Gets or sets the character sequence that is used to separate a table of authorities entry and its page number. Gets or sets whether to remove the formatting of the entry text in the document from the entry in the table of authorities. Gets or sets the character sequence that is used to separate the start and end of a page range. Gets or sets whether to include the category heading for the entries in a table of authorities. Gets or sets the character sequence that is used to separate two page numbers in a page number list. Gets or sets whether to replace five or more different page references to the same authority with "passim", which is used to indicate that a word or passage occurs frequently in the work cited. Gets or sets the name of a sequence whose number is included with the page number. Implements the ASK field. Prompts the user to enter information and assigns a bookmark to represent the user's response. Gets or sets the name of the bookmark. Gets or sets the prompt text (the title of the prompt window). Gets or sets default user response (initial value contained in the prompt window). Gets or sets whether the user response should be recieved once per a mail merge operation. Implements the AUTOTEXT field. Inserts an AutoText entry. Gets or sets the name of the AutoText entry. Implements the AUTOTEXTLIST field. Creates a shortcut menu based on AutoText entries in the active template. Gets or sets the name of the AutoText entry. Gets or sets the name of the style on which the list to contain entries is based. Gets or sets the text of the ScreenTip to show. Implements the BIBLIOGRAPHY field. Inserts the contents of the document's Bibliography part in a bibliographic style. Gets or sets the language ID that is used to format the bibliographic sources in the document. Implements the CITATION field. Inserts the contents of the Source element with a specified Tag element using a bibliographic style. Gets or sets a value that mathes the Tag element's value of the source to insert. Gets or sets the language ID that is used in conjunction with the specified bibliographic style to format the citation in the document. Gets or sets a prefix that is prepended to the citation. Gets or sets a suffix that is appended to the citation. Gets or sets whether the author information is suppressed from the citation. Gets or sets whether the title information is suppressed from the citation. Gets or sets whether the year information is suppressed from the citation. Gets or sets a page number associated with the citation. Gets or sets a volume number associated with the citation. Gets or sets a value that mathes the Tag element's value of another source to be included in the citation. Implements the DDE field. For information copied from another application, this field links that information to its original source file using DDE. Gets or sets the application type of the link information. Gets or sets the name and location of the source file. Gets or sets the portion of the source file that's being linked. Gets or sets whether to update this field automatically. Gets or sets whether to insert the linked object as a bitmap. Gets or sets whether to reduce the file size by not storing graphics data with the document. Gets or sets whether to insert the linked object as HTML format text. Gets or sets whether to insert the linked object as a picture. Gets or sets whether to insert the linked object in rich-text format (RTF). Gets or sets whether to insert the linked object in text-only format. Gets or sets whether to insert the linked object as Unicode text. Implements the DDEAUTO field. For information copied from another application, this field links that information to its original source file using DDE and is updated automatically. Gets or sets the application type of the link information. Gets or sets the name and location of the source file. Gets or sets the portion of the source file that's being linked. Gets or sets whether to insert the linked object as a bitmap. Gets or sets whether to reduce the file size by not storing graphics data with the document. Gets or sets whether to insert the linked object as HTML format text. Gets or sets whether to insert the linked object as a picture. Gets or sets whether to insert the linked object in rich-text format (RTF). Gets or sets whether to insert the linked object in text-only format. Gets or sets whether to insert the linked object as Unicode text. Implements the FILLIN field. Prompts the user to enter text. Gets or sets the prompt text (the title of the prompt window). Gets or sets whether the user response should be recieved once per a mail merge operation. Gets or sets default user response (initial value contained in the prompt window). Implements the GLOSSARY field. Inserts a glossary entry. Gets or sets the name of the glossary entry to insert. Implements the IMPORT field. Retrieves the picture contained in the document. Gets or sets the location of the picture. Gets or sets the name of the filter for the format of the graphic that is to be inserted. Gets or sets whether to reduce the file size by not storing graphics data with the document. Implements the INCLUDE field. Inserts all or part of the text and graphics contained in another document. Gets or sets the location of the document. Gets or sets the name of the bookmark in the document to include. Gets or sets whether to prevent fields in the included document from being updated. Gets or sets the name of the text converter for the format of the included file. Implements the SHAPE field. Retrieves the specified text. Gets or sets the text to retrieve. Implements the DATABASE field. Inserts the results of a database query into a WordprocessingML table. Gets or sets which attributes of the format are to be applied to the table. Gets or sets a connection to the data. Gets or sets the complete path and file name of the database Gets or sets the integral record number of the first data record to insert. Gets or sets whether to insert the field names from the database as column headings in the resulting table. Gets or sets the format that is to be applied to the result of the database query. Gets or sets whether to insert data at the beginning of a merge. Gets or sets a set of SQL instructions that query the database. Gets or sets the integral record number of the last data record to insert. Implements the SKIPIF field. Compares the values designated by the expressions and in comparison using the operator designated by . If the comparison is true, SKIPIF cancels the current merge document, moves to the next data record in the data source, and starts a new merge document. If the comparison is false, the current merge document is continued. Gets or sets the left part of the comparison expression. Gets or sets the comparison operator. Gets or sets the right part of the comparison expression. Represents an image dimension (i.e. the width or the height) used across a mail merge process. To indicate that the image should be inserted with its original dimension during a mail merge, you should assign a negative value to the property. Creates an image dimension instance with the given value in points. You should use a negative value to indicate that the original value of the corresponding image dimension should be applied. The value. Creates an image dimension instance with the given value and the given unit. You should use a negative value to indicate that the original value of the corresponding image dimension should be applied. The value. The unit. Ctor for internal using. The value. You should use a negative value to indicate that the original value of the corresponding image dimension should be applied. The unit. Specifies an unit of an image dimension (i.e. the width or the height) used across a mail merge process. The point (i.e. 1/72 inch). The percent of the original image dimension value. Implements the LISTNUM field. Gets or sets the name of the abstract numbering definition used for the numbering. Returns a value indicating whether the name of an abstract numbering definition is provided by the field's code. Gets or sets the level in the list, overriding the default behavior of the field. Gets or sets the starting value for this field. Implements the REVNUM field. Retrieves the document's revision number, as recorded in the Revision property of the built-in document properties. Implements the SECTION field. Retrieves the number of the current section. Implements the SECTIONPAGES field. Retrieves the number of the current page within the current section. Implements the DATA field. Implements the EMBED field. Implements the OCX field. Implements the AUTONUM field. Inserts an automatic number. Gets or sets the separator character to be used. Implements the AUTONUMLGL field. Inserts an automatic number in legal format. Gets or sets whether to display the number without a trailing period. Gets or sets the separator character to be used. Implements the AUTONUMOUT field. Inserts an automatic number in outline format. Implements the ADDIN field. Contains data created by an add-in. Implements the BARCODE field. Inserts a postal barcode in a machine-readable form of address used by the U.S. Postal Service. Gets or sets the postal address used for generating a barcode or the name of the bookmark that refers to it. Gets or sets whether is the name of a bookmark. Gets or sets the type of a Facing Identification Mark (FIM) to insert. Gets or sets whether is a U.S. postal address. Implements the BIDIOUTLINE field. This field is identical to the AUTONUMLGL field, except for the separator that delimits each level of the paragraph numbering. Implements the EQ field. Implements the FOOTNOTEREF field. Implements the INFO field. Inserts information about a document property. Gets or sets the type of the document property to insert. Gets or sets an optional value that updates the property. Implements the USERADDRESS field. Retrieves the current user's postal address. Gets or sets the current user's postal address. Implements the USERINITIALS field. Retrieves the current user's initials. Gets or sets the current user's initials. Implements the USERNAME field. Retrieves the current user's name. Gest or sets the current user's name. Represents the respondent to user prompts during field update. The ASK and FILLIN fields are the examples of fields that prompt the user for some response. Implement this interface and assign it to the property to establish interaction between field update and the user. When implemented, returns a response from the user on prompting. Your implementation should return null to indicate that the user has not responded to the prompt (i.e. the user has pressed the Cancel button in the prompt window). Prompt text (i.e. title of the prompt window). Default user response (i.e. initial value contained in the prompt window). User response (i.e. confirmed value contained in the prompt window). Implements the INCLUDEPICTURE field. Retrieves a picture and displays it as the field result. Gets or sets the location of the picture using an IRI. Gets or sets the name of the filter for the format of the graphic that is to be inserted. Gets or sets whether to reduce the file size by not storing graphics data with the document. Gets or sets whether to resize the picture horizontally from the source. Gets or sets whether to resize the picture vertically from the source. Implements the PAGE field. Retrieves the number of the current page. Represents options to control field handling in a document. Specifies what culture to use to format the field result. By default, the culture of the current thread is used. The setting affects only date/time fields with \\@ format switch. Gets or sets a provider that returns a culture object specific for each particular field. The provider is requested when the value of is FieldUpdateCultureSource.FieldCode. If the provider is present, then the culture object it returns is used for the field update. Otherwise, a system culture is used. Gets or sets the value indicating whether bidirectional text is fully supported during field update or not. When this property is set to true, additional steps are performed to produce Right-To-Left language (i.e. Arabic or Hebrew) compatible field result during its update. When this property is set to false and Right-To-Left language is used, correctness of field result after its update is not guaranteed. The default value is false. Gets or sets the respondent to user prompts during field update. If the value of this property is set to null, the fields that require user response on prompting (such as ASK or FILLIN) are not updated. The default value is null. Gets or sets default document author's name. If author's name is already specified in built-in document properties, this option is not considered. Gets or sets custom style separator for the \t switch in TOC field. By default, custom styles defined by the \t switch in the TOC field are separated by a delimiter taken from the current culture. This property overrides that behaviour by specifying a user defined delimiter. Gets or sets the value indicating whether legacy (early than AW 13.10) number format for fields is enabled or not. When this property is set to true, template symbol "#" worked as in .net: Replaces the pound sign with the corresponding digit if one is present; otherwise, no symbols appears in the result string. When this property is set to false, template symbol "#" works as MS Word: This format item specifies the requisite numeric places to display in the result. If the result does not include a digit in that place, MS Word displays a space. For example, { = 9 + 6 \# $### } displays $ 15. The default value is false. Gets or sets the value indicating that number format is parsed using invariant culture or not When this property is set to true, number format is taken from an invariant culture. When this property is set to false, number format is taken from the current thread's culture. The default value is false. Gets or set custom barcode generator. Custom barcode generator should implement public interface . Gets or sets the culture to preprocess field values.

Currently this property only affects value of the DOCPROPERTY field.

The default value is null. When this property is set to null, the DOCPROPERTY field's value is preprocessed with the culture controlled by the property.

Gets or sets the current user information. Gets or sets the table of authorities categories. Gets or sets the file name of the document.

This property is used by the FILENAME field with higher priority than the property.

Allows to control how the field result is formatted. Gets or sets paths of MS Word built-in templates.

This property is used by the AUTOTEXT and GLOSSARY fields, if referenced auto text entry is not found in the template.

By defalut MS Word stores built-in templates in c:\Users\<username>\AppData\Roaming\Microsoft\Document Building Blocks\1033\16\Built-In Building Blocks.dotx and C:\Users\<username>\AppData\Roaming\Microsoft\Templates\Normal.dotm files.

Implements the CREATEDATE field. Retrieves the date and time at which the document was created. By default, the Gregorian calendar is used. Gets or sets whether to use the Hijri Lunar or Hebrew Lunar calendar. Gets or sets whether to use the Saka Era calendar. Gets or sets whether to use the Um-al-Qura calendar. Implements the EDITTIME field. Retrieves the total editing time, in minutes, since the document was created. Implements the PRINTDATE field. Retrieves the date and time on which the document was last printed. By default, the Gregorian calendar is used. Gets or sets whether to use the Hijri Lunar or Hebrew Lunar calendar. Gets or sets whether to use the Saka Era calendar. Gets or sets whether to use the Um-al-Qura calendar. Implements the SAVEDATE field. Retrieves the date and time on which the document was last saved. By default, the Gregorian calendar is used. Gets or sets whether to use the Hijri Lunar or Hebrew Lunar calendar. Gets or sets whether to use the Saka Era calendar. Gets or sets whether to use the Um-al-Qura calendar. Implements the GOTOBUTTON field. Inserts a jump command, such that when it is activated, the insertion point of the document is moved to the specified location. Gets or sets the name of a bookmark, a page number, or some other item to jump to. Gets or sets the text of the "button" that appears in the document, such that it can be selected to activate the jump. Implements the AUTHOR field. Retrieves, and optionally sets, the document author's name, as recorded in the Author property of the built-in document properties. Gets or sets the document author's name. Implements the COMMENTS field. Retrieves, and optionally sets, the comments relating to the current document, as recorded in the Comments property of the built-in document properties. Gets or sets the text of the comments. Implements the FILENAME field.

Retrieves the name of the current document from its storage location.

In the current implementation, uses the property to retrieve the file name. If the document was loaded from a stream or created blank, uses the name of the file that is being saved to (if known).

Gets or sets whether to include the full file path name. Implements the FILESIZE field.

Retrieves the size of the current document's file or 0 if the size cannot be determined.

In the current implementation, uses the property to retrieve the file name used to determine the file size.

Gets or sets whether to display the file size in kilobytes. Gets or sets whether to display the file size in megabytes. Implements the KEYWORDS field. Retrieves, and optionally sets, the document's keywords, as recorded in the Keywords property of the built-in document properties. Gets or sets the text of the keywords. Implements the LASTSAVEDBY field. Retrieves the name of the user who last modified and saved the current document, as recorded in the LastModifiedBy property of the built-in document properties. Implements the NUMCHARS field. Retrieves the number of characters in the current document, as recorded in the Characters property of the built-in document properties. Implements the NUMPAGES field. Retrieves the number of pages in the current document, as recorded in the Pages property of the built-in document properties. Implements the NUMWORDS field. Retrieves the number of words in the current document, as recorded in the Words property of the built-in document properties. Implements the SUBJECT field. Retrieves, and optionally sets, the document's subject, as recorded in the Subject property of the built-in document properties. Gets or sets the text of the subject. Implements the TEMPLATE field. Retrieves the file name of the template used by the current document. Gets or sets whether to include the full file path name. Implements the TITLE field. Retrieves, and optionally sets, the document's title, as recorded in the Title property of the built-in document properties. Gets or sets the text of the title. Implements the = (formula) field. Calcualtes the result of an expression. Implements a SYMBOL field. Retrieves the character whose code point value is specified in decimal or hexadecimal. Gets or sets the character's code point value in decimal or hexadecimal. Gets or sets the name of the font of the character retrieved by the field. Gets or sets the size in points of the font of the character retrieved by the field. Gets or sets whether the character code is interpreted as the value of an ANSI character. Gets or sets whether the character code is interpreted as the value of a Unicode character. Gets or sets whether the character code is interpreted as the value of a SHIFT-JIS character. Gets or sets whether the character retrieved by the field affects the line spacing of the paragraph. Implements the QUOTE field. Retrieves the specified text. Gets or sets the text to retrieve. Implements the SET field. Assigns new text to a bookmark. Gets or sets the name of the bookmark. Gets or sets the new text of the bookmark. Implements the ADDRESSBLOCK field. Represents an address block. An address block is a block of text specifying information appropriate for a postal mailing address, in the order required by the destination country. Returns a collection of mail merge field names used by the field. Gets or sets whether to format the address according to the country/region of the recipient as defined by POST*CODE (Universal Postal Union 2006). Gets or sets whether to include the name of the country/region. Gets or sets the excluded country/region name. TODO DV May be more than one. Gets or sets the name and address format. Gets or sets the language ID used to format the address. Implements the COMPARE field. Compares the values designated by the expressions and in comparison using the operator designated by . Gets or sets the left part of the comparison expression. Gets or sets the comparison operator. Gets or sets the right part of the comparison expression. Implements the DATE field. Inserts the current date and time. By default, the Gregorian calendar is used. Gets or sets whether to use the Hijri Lunar or Hebrew Lunar calendar. Gets or sets whether to use a format last used by the hosting application when inserting a new DATE field. Gets or sets whether to use the Saka Era calendar. Gets or sets whether to use the Um-al-Qura calendar. Implements the DOCPROPERTY field. Retrieves the indicated document information. Implements DOCVARIABLE field. Gets or sets the name of the document variable to retrieve. Implements the GREETINGLINE field. Inserts a mail merge greeting line. Returns a collection of mail merge field names used by the field. Gets or sets the text to include in the field if the name is blank. Gets or sets the format of the name included in the field. Gets or sets the language id used to format the name. Implements the HYPERLINK field When selected, causes control to jump to the location such as a bookmark or a URL. Gets or sets the target to which the link should be redirected. Gets or sets a location where this hyperlink jumps. Gets or sets a location in the file, such as a bookmark, where this hyperlink jumps. Gets or sets whether to append coordinates to the hyperlink for a server-side image map. Gets or sets whether to open the destination site in a new web browser window. Gets or sets the ScreenTip text for the hyperlink. Implements the IF field.

Compares the values designated by the expressions and in comparison using the operator designated by .

A field in the following format will be used as a mail merge source: { IF 0 = 0 "{PatientsNameFML}" "" \* MERGEFORMAT }

Evaluates the condition. A value that represents the result of the condition evaluation. Gets or sets the left part of the comparison expression. Gets or sets the comparison operator. Gets or sets the right part of the comparison expression. Gets or sets the text displayed if the comparison expression is true. Gets or sets the text displayed if the comparison expression is false. Implements the INCLUDETEXT field. Inserts all or part of the text and graphics contained in another document. Gets or sets the location of the document using an IRI. Gets or sets the name of the bookmark in the document to include. Gets or sets whether to prevent fields in the included document from being updated. Gets or sets the name of the text converter for the format of the included file. Gets or sets the namespace mappings for XPath queries. Gets or sets the location of XSL Transformation to format XML data. Gets or sets XPath for the desired portion of the XML file. Gets or sets the encoding applied to the data within the referenced file. Gets or sets the MIME type of the referenced file. Implements the LINK field. For information copied from another application, this field links that information to its original source file. Gets or sets the application type of the link information. Gets or sets the name and location of the source file. Gets or sets the portion of the source file that's being linked. Gets or sets whether to update this field automatically. Gets or sets whether to insert the linked object as a bitmap. Gets or sets whether to reduce the file size by not storing graphics data with the document. Gets or sets a way the linked object updates its formatting. Gets or sets whether to insert the linked object as HTML format text. Gets or sets whether to insert the linked object as a picture. Gets or sets whether to insert the linked object in rich-text format (RTF). Gets or sets whether to insert the linked object in text-only format. Gets or sets whether to insert the linked object as Unicode text. Implements the MACROBUTTON field.

Allows a macro or command to be run.

In Aspose.Words this field can also act as a merge field.

Gets or sets the name of the macro or command to run. Gets or sets the text to appear as the "button" that is selected to run the macro or command. Implements the MERGEFIELD field. Retrieves the name of a data field within the merge characters in a mail merge main document. When the main document is merged with the selected data source, information from the specified data field is inserted in place of the merge field. Returns just the name of the data field. Any prefix is stripped to the prefix property. Gets or sets the name of a data field. Gets or sets the text to be inserted before the field if the field is not blank. Gets or sets the text to be inserted after the field if the field is not blank. Gets or sets whether this field is a mapped field. Gets or sets whether to enable character conversion for vertical formatting. Implements the MERGEREC field. At the moment the MERGEREC and MERGESEQ fields implement the same functionality because we don't know for sure how to skip records in Aspose.Words mail merge. Implements the MERGESEQ field. At the moment the MERGEREC and MERGESEQ fields implement the same functionality because we don't know for sure how to skip records in Aspose.Words mail merge. Implements the NEXT field. Merges the next data record into the current resulting merged document, rather than starting a new merged document. Implements the NEXTIF field. Compares the values designated by the expressions and in comparison using the operator designated by . If the comparison is true, the next data record is merged into the current merge document. (Merge fields that follow the NEXTIF in the main document are replaced by values from the next data record rather than the current data record.) If the comparison is false, the next data record is merged into a new merge document. Gets or sets the left part of the comparison expression. Gets or sets the comparison operator. Gets or sets the right part of the comparison expression. Implements the NOTEREF field. Inserts the mark of the footnote or endnote that is marked by the specified bookmark. Gets or sets the name of the bookmark. Inserts the reference mark with the same character formatting as the Footnote Reference or Endnote Reference style. Gets or sets whether to insert a hyperlink to the bookmarked paragraph. Gets or sets whether to insert a relative position of the bookmarked paragraph. Implements the PAGEREF field. Inserts the number of the page containing the specified bookmark for a cross-reference. Gets or sets the name of the bookmark. Gets or sets whether to insert a hyperlink to the bookmarked paragraph. Gets or sets whether to insert a relative position of the bookmarked paragraph. Implements the REF field. Inserts the text or graphics represented by the specified bookmark. Gets or sets the referenced bookmark's name. Gets or sets the character sequence that is used to separate sequence numbers and page numbers. Gets or sets whether to increment footnote, endnote, and annotation numbers that are marked by the bookmark, and insert the corresponding footnote, endnote, and comment text. Gets or sets whether to create a hyperlink to the bookmarked paragraph. Gets or sets whether to insert the paragraph number of the referenced paragraph exactly as it appears in the document. Gets or sets whether to insert the relative position of the referenced paragraph. Gets or sets whether to insert the paragraph number of the referenced paragraph in relative context. Gets or sets whether to suppress non-delimiter characters. Gets or sets whether to insert the paragraph number of the referenced paragraph in full context. Implements the SEQ field. Sequentially numbers chapters, tables, figures, and other user-defined lists of items in a document. Gets or sets the name assigned to the series of items that are to be numbered. Gets or sets a bookmark name that refers to an item elsewhere in the document rather than in the current location. Gets or sets whether to insert the next sequence number for the specified item. Gets or sets an integer number to reset the sequence number to. Returns -1 if the number is absent. Gets or sets an integer number representing a heading level to reset the sequence number to. Returns -1 if the number is absent. Implements the STYLEREF field. The STYLEREF is used to reference a fragment of text within the document that is formatted with the specified style. Gets or sets the name of the style by which the text to search for is formatted. Gets or sets whether to search from the bottom of the current page, rather from the top. Gets or sets whether to insert the paragraph number of the referenced paragraph exactly as it appears in the document. Gets or sets whether to insert the relative position of the referenced paragraph. Gets or sets whether to insert the paragraph number of the referenced paragraph in relative context. Gets or sets whether to suppress non-delimiter characters. Gets or sets whether to insert the paragraph number of the referenced paragraph in full context. Implements the TC field. Defines the text and page number for a table of contents (including a table of figures) entry, which is used by a TOC field. Gets or sets the text of the entry. Gets or sets a type identifier for this field (which is typically a letter). Gets or sets the level of the entry. Gets or sets whether page number in TOC should be omitted for this field. Implements the TIME field. Inserts the current date and time. Implements the TOC field. Builds a table of contents (which can also be a table of figures) using the entries specified by TC fields, their heading levels, and specified styles, and inserts that table at this place in the document. Updates the page numbers for items in this table of contents. True if the operation is successful. If any of the related TOC bookmarks was removed, false will be returned. Gets or sets the name of the bookmark that marks the portion of the document used to build the table. Gets or sets the name of the sequence identifier used when building a table of figures. Gets or sets the name of the sequence identifier used when building a table of figures that does not include caption's label and number. Gets or sets the character sequence that is used to separate sequence numbers and page numbers. Gets or sets a string that should match type identifiers of TC fields being included. Gets or sets whether to make the table of contents entries hyperlinks. Gets or sets a range of levels of the table of contents entries to be included. Gets or sets a range of levels of the table of contents entries from which to omits page numbers. Gets or sets a range of heading levels to include. Gets or sets a sequence of characters that separate an entry and its page number. Gets or sets the identifier of a sequence for which a prefix should be added to the entry's page number. Gets or sets a list of styles other than the built-in heading styles to include in the table of contents. Gets or sets whether to use the applied paragraph outline level. Gets or sets whether to preserve tab entries within table entries. Gets or sets whether to preserve newline characters within table entries. Gets or sets whether to hide tab leader and page numbers in Web layout view. Implements the XE field. Defines the text and page number for an index entry, which is used by an INDEX field. Gets or sets the text of the entry. Gets or sets whether to apply bold formatting to the entry's page number. Gets or sets an index entry type. Gets or sets whether to apply italic formatting to the entry's page number. Gets or sets the name of the bookmark that marks a range of pages that is inserted as the entry's page number. Gets a value indicating whether a page range bookmark name is provided through the field's code. Gets or sets text used in place of a page number. Gets or sets the yomi (first phonetic character for sorting indexes) for the index entry Indicates what culture to use during field update. The culture of the current execution thread is used to update fields. The culture specified in the field formatting properties via language setting is used. To be exact, Aspose.Words mimics MS Word by using the language set for the first character of the field code. Specifies a general format that is applied to a numeric, text, or any field result. A field may have a combination of general formats. Used to specify a missing general format. Numeric formatting. Formats a numeric result using hiragana characters in the traditional a-i-u-e-o order. Numeric formatting. Formats a numeric result as one or more occurrences of an uppercase alphabetic Latin character. Numeric formatting. Formats a numeric result as one or more occurrences of an lowercase alphabetic Latin character. Numeric formatting. Formats a numeric result using Arabic cardinal numerals. Numeric formatting. Formats a numeric result using ascending Abjad numerals. Numeric formatting. Formats a numeric result using characters in the Arabic alphabet. Numeric formatting. Formats a numeric result using Arabic cardinal numerals, with a prefix of "- " and a suffix of " -". Numeric formatting. Formats a numeric result in the Thai counting system. Numeric formatting. Cardinal text (One, Two, Three, ...). Numeric formatting. Formats a numeric result using ascending numbers from the appropriate counting system. Numeric formatting. Formats a numeric result using sequential numbers from the appropriate legal format. Numeric formatting. Formats a numeric result using sequential numbers from the appropriate counting thousand system. Numeric formatting. Formats a numeric result using sequential numbers from the Korean Chosung format. Numeric formatting. Formats a numeric result using decimal numbering enclosed in a circle, using the enclosed alphanumeric glyph character for numbers in the range 1–20. Numeric formatting. Formats a numeric result using double-byte Arabic numbering. Numeric formatting. Formats a numeric result using sequential digital ideographs, using the appropriate character. Numeric formatting. Formats a numeric result using sequential numbers from the appropriate counting system. Numeric formatting. Formats a numeric result using sequential numbers from the appropriate legal counting system. Numeric formatting. Formats a numeric result using sequential numbers from the appropriate digital counting system. Numeric formatting. Dollar text (One, Two, Three, ... + AND 55/100). Numeric formatting. Formats a numeric result using sequential numbers from the Korean Ganada format. Numeric formatting. Formats a numeric result using decimal numbering followed by a period, using the enclosed alphanumeric glyph character. Numeric formatting. Formats a numeric result using decimal numbering enclosed in parenthesis, using the enclosed alphanumeric glyph character. Numeric formatting. Formats a numeric result using decimal numbering enclosed in a circle, using the enclosed alphanumeric glyph character. Numeric formatting. Formats a numeric result using decimal numbering enclosed in a circle, using the enclosed alphanumeric glyph character. Numeric formatting. Formats a numeric result using Hebrew numerals. Numeric formatting. Formats a numeric result using the Hebrew alphabet. Numeric formatting. Formats the numeric result using uppercase hexadecimal digits. Numeric formatting. Formats a numeric result using Hindi numbers. Numeric formatting. Formats a numeric result using sequential numbers from the Hindi counting system. Numeric formatting. Formats a numeric result using Hindi vowels. Numeric formatting. Formats a numeric result using Hindi consonants. Numeric formatting. Formats a numeric result using the Japanese iroha. Numeric formatting. Formats a numeric result using a Japanese style using the appropriate counting system. Numeric formatting. Formats a numeric result using the appropriate counting system. Numeric formatting. Formats a numeric result using the appropriate counting system. Numeric formatting. Ordinal (1st, 2nd, 3rd, ...). Numeric formatting. Ordinal text (First, Second, Third, ...). Numeric formatting. Uppercase Roman (I, II, III, ...). Numeric formatting. Lowercase Roman (i, ii, iii, ...). Numeric formatting. Formats a numeric result using single-byte Arabic numbering. Numeric formatting. Formats a numeric result using Thai numbers. Numeric formatting. Formats a numeric result using sequential numbers from the Thai counting system. Numeric formatting. Formats a numeric result using Thai letters. Numeric formatting. Formats a numeric result using Vietnamese numerals. Numeric formatting. Formats a numeric result using sequential numerical traditional ideographs. Numeric formatting. Formats a numeric result using sequential zodiac ideographs. Numeric formatting. Formats a numeric result using sequential traditional zodiac ideographs. Text formatting. Capitalizes the first letter of each word. Text formatting. Capitalizes the first letter of the first word. Text formatting. All letters are lowercase. Text formatting. All letters are uppercase. Field result formatting. The CHARFORMAT instruction. Field result formatting. The MERGEFORMAT instruction. Field result formatting. The MERGEFORMATINET instruction. Represents a typed collection of general formats. Adds a general format to the collection. A general format. Removes all occurrences of the specified general format from the collection. A general format. Removes a general format occurrence at the specified index. Returns an enumerator object. Gets the total number of the items in the collection. Gets a general format at the specified index. The index of a general format. A general format. Implements the FORMTEXT field. Inserts a text box style form field. Provides typed access to field's numeric, date and time, and general formatting. Gets or sets a formatting that is applied to a numeric field result. Corresponds to the \# switch. Gets or sets a formatting that is applied to a date and time field result. Corresponds to the \@ switch. Gets a collection of general formats that are applied to a numeric, text or any field result. Corresponds to the \* switches. A collection of strings that represent all the items in a drop-down form field. Returns an enumerator object that can be used to iterate over all items in the collection. Adds a string to the end of the collection. The string to add to the end of the collection. The zero-based index at which the new element is inserted. Determines whether the collection contains the specified value. Case-sensitive value to locate. True if the item is found in the collection; otherwise, false. Returns the zero-based index of the specified value in the collection. The case-sensitive value to locate. The zero based index. Negative value if not found. Inserts a string into the collection at the specified index. The zero-based index at which value is inserted. The string to insert. Removes the specified value from the collection. The case-sensitive value to remove. Removes a value at the specified index. The zero based index. Removes all elements from the collection. Gets the number of elements contained in the collection. Gets or sets the element at the specified index. Represents a single form field.

Microsoft Word provides the following form fields: checkbox, text input and dropdown (combobox).

FormField is an inline-node and can only be a child of Paragraph.

FormField is represented in a document by a special character and positioned as a character within a line of text.

A complete form field in a Word document is a complex structure represented by several nodes: field start, field code such as FORMTEXT, form field data, field separator, field result, field end and a bookmark. To programmatically create form fields in a Word document use DocumentBuilder.InsertCheckBox, DocumentBuilder.InsertTextInput and DocumentBuilder.InsertComboBox which make sure all of the form field nodes are created in a correct order and in a suitable state.

Accepts a visitor.

Calls DocumentVisitor.VisitFormField.

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Removes the complete form field, not just the form field special character. If there is a bookmark associated with the form field, the bookmark is not removed. Applies the text format specified in and stores the value in . Can be a string, number or a DateTime object. Returns NodeType.FormField. Gets or sets the form field name. Microsoft Word allows strings with at most 20 characters. Returns the form field type. Gets or sets a string that represents the result of this form field.

For a text form field the result is the text that is in the field.

For a checkbox form field the result can be "1" or "0" to indicate checked or unchecked.

For a dropdown form field the result is the string selected in the dropdown.

Setting for a text form field does not apply the text format specified in . If you want to set a value and apply the format, use the method.

Returns or sets the text that's displayed in the status bar when a form field has the focus.

If the OwnStatus property is set to true, the StatusText property specifies the status bar text. If the OwnStatus property is set to false, the StatusText property specifies the name of an AutoText entry that contains status bar text for the form field.

Microsoft Word allows strings with at most 138 characters.

Specifies the source of the text that's displayed in the status bar when a form field has the focus.

If true, the text specified by the StatusText property is displayed. If false, the text of the AutoText entry specified by the StatusText property is displayed.

Returns or sets the text that's displayed in a message box when the form field has the focus and the user presses F1.

If the OwnHelp property is set to True, HelpText specifies the text string value. If OwnHelp is set to False, HelpText specifies the name of an AutoText entry that contains help text for the form field.

Microsoft Word allows strings with at most 255 characters.

Specifies the source of the text that's displayed in a message box when a form field has the focus and the user presses F1.

If True, the text specified by the HelpText property is displayed. If False, the text in the AutoText entry specified by the HelpText property is displayed.

True if references to the specified form field are automatically updated whenever the field is exited.

Setting CalculateOnExit only affects the behavior of the form field when the document is opened in Microsoft Word. Aspose.Words never updates references to the form field.

Returns or sets an entry macro name for the form field.

The entry macro runs when the form field gets the focus in Microsoft Word.

Microsoft Word allows strings with at most 32 characters.

Returns or sets an exit macro name for the form field.

The exit macro runs when the form field loses the focus in Microsoft Word.

Microsoft Word allows strings with at most 32 characters.

True if a form field is enabled.

If a form field is enabled, its contents can be changed as the form is filled in.

Returns or sets the text formatting for a text form field.

If the text form field contains regular text, then valid format strings are "", "UPPERCASE", "LOWERCASE", "FIRST CAPITAL" and "TITLE CASE". The strings are case-insensitive.

If the text form field contains a number or a date/time value, then valid format strings are number or date and time format strings.

Microsoft Word allows strings with at most 64 characters.

Gets or sets the type of a text form field. Gets or sets the default string or a calculation expression of a text form field. The meaning of this property depends on the value of the property. When is or , this string specifies the default string for the text form field. This string is the content that Microsoft Word will display in the document when the form field is empty. When is , then this string holds the expression to be calculated. The expression needs to be a formula valid according to Microsoft Word formula field requirements. When you set a new expression using this property, Aspose.Words calculates the formula result automatically and inserts it into the form field. Microsoft Word allows strings with at most 255 characters. Maximum length for the text field. Zero when the length is not limited. Provides access to the items of a dropdown form field.

Microsoft Word allows maximum 25 items in a dropdown form field.

Gets or sets the index specifying the currently selected item in a dropdown form field. Gets or sets the checked status of the check box form field. Default value for this property is false.

Applicable for a check box form field only.

Gets or sets the default value of the check box form field. Default value for this property is false.

Applicable for a check box form field only.

Gets or sets the boolean value that indicates whether the size of the textbox is automatic or specified explicitly.

Applicable for a check box form field only.

Gets or sets the size of the checkbox in points. Has effect only when is true.

Applicable for a check box form field only.

A collection of FormField objects that represent all the form fields in a range. Facade wrapper for a collection of form field objects. Removes a form field with the specified name. If there is a bookmark associated with the form field, the bookmark is not removed. The case-insensitive name of the form field to remove. Removes a form field at the specified index. If there is a bookmark associated with the form field, the bookmark is not removed. The zero-based index of the form field to remove. Removes all form fields from this collection and from the document. Returns an enumerator object. Returns the number of form fields in the collection. Returns a form field at the specified index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

An index into the collection.
Returns a form field by bookmark name. Returns null if the form field with the specified bookmark name cannot be found. Case-insensitive bookmark name. Specifies the type of a text form field. The text form field can contain any text. The text form field can contain only numbers. The text form field can contain only a valid date value. The text form field value is the current date when the field is updated. The text form field value is the current time when the field is updated. The text form field value is calculated from the expression specified in the property. Base class for nodes that represent field characters in a document.

A complete field in a Microsoft Word document is a complex structure consisting of a field start character, field code, field separator character, field result and field end character. Some fields only have field start, field code and field end.

To easily insert a new field into a document, use the method.

Returns a field for the field char. A new object is created each time the method is called. A field for the field char. Returns the type of the field. Gets or sets whether the parent field is locked (should not recalculate its result). Gets or sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. Represents an end of a Word field in a document.

is an inline-level node and represented by the control character in the document.

can only be a child of .

A complete field in a Microsoft Word document is a complex structure consisting of a field start character, field code, field separator character, field result and field end character. Some fields only have field start, field code and field end.

To easily insert a new field into a document, use the method.

Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Returns . Returns true if this field has a separator. Represents a Word field separator that separates the field code from the field result.

is an inline-level node and represented by the control character in the document.

can only be a child of .

A complete field in a Microsoft Word document is a complex structure consisting of a field start character, field code, field separator character, field result and field end character. Some fields only have field start, field code and field end.

To easily insert a new field into a document, use the method.

Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Returns . Represents a start of a Word field in a document.

is an inline-level node and represented by the control character in the document.

can only be a child of .

A complete field in a Microsoft Word document is a complex structure consisting of a field start character, field code, field separator character, field result and field end character. Some fields only have field start, field code and field end.

To easily insert a new field into a document, use the method.

Accepts a visitor.

Calls .

For more info see the Visitor design pattern.

The visitor that will visit the node. False if the visitor requested the enumeration to stop.
Returns .

The Aspose.Words.Fields namespace contains classes that represent Microsoft Word fields in a document.

Represents a Microsoft Word document field. A field in a Word document is a complex structure consisting of multiple nodes that include field start, field code, field separator, field result and field end. Fields can be nested, contain rich content and span multiple paragraphs or sections in a document. The class is a "facade" object that provides properties and methods that allow to work with a field as a single object. The , and properties point to the field start, separator and end nodes of the field respectively. The content between the field start and separator is the field code. The content between the field separator and field end is the field result. The field code typically consists of one or more objects that specify instructions. The processing application is expected to execute the field code to calculate the field result. The process of calculating field results is called the field update. Aspose.Words can update field results of most of the field types in exactly the same way as Microsoft Word does it. Most notably, Aspose.Words can calculate results of even the most complex formula fields. To calculate the field result of a single field use the method. To update fields in the whole document use . You can get the plain text version of the field code using the method. You can get and set the plain text version of the field result using the property. Both the field code and field result can contain complex content, such as nested fields, paragraphs, shapes, tables and in this case you might want to work with the field nodes directly if you need more control. You do not create instances of the class directly. To create a new field use the method. Returns text between field start and field separator (or field end if there is no separator). Both field code and field result of child fields are included. Returns text between field start and field separator (or field end if there is no separator). True if child field codes should be included. Removes the field from the document. Returns a node right after the field. If the field's end is the last child of its parent node, returns its parent paragraph. If the field is already removed, returns null. Removes field code or result. Performs the field update. Throws if the field is being updated already. Performs a field update. Throws if the field is being updated already. If true then direct field result formatting is abandoned, regardless of the MERGEFORMAT switch, otherwise normal update is performed. Performs the field unlink. Replaces the field with its most recent result. Some fields, such as XE (Index Entry) fields and SEQ (Sequence) fields, cannot be unlinked. True if the field has been unlinked, otherwise false. Gets the node that represents the start of the field. Gets the node that represents the field separator. Can be null. Gets the node that represents the field end. Gets the Microsoft Word field type. Gets or sets text that is between the field separator and field end. Gets the text that represents the displayed field result. The method must be called to obtain correct value for the , , and fields. Gets or sets whether the field is locked (should not recalculate its result). Gets or sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. Gets a object that provides typed access to field's formatting. Gets or sets the LCID of the field. Specifies Microsoft Word field types. Field type is not specified or unknown. Specifies that the field was unable to be parsed. Specifies the ADDIN field. Specifies the ADDRESSBLOCK field. Specifies the ADVANCE field. Specifies the ASK field. Specifies the AUTHOR field. Specifies the AUTONUM field. Specifies the AUTONUMLGL field. Specifies the AUTONUMOUT field. Specifies the AUTOTEXT field. Specifies the AUTOTEXTLIST field. Specifies the BARCODE field. Specifies the BIBLIOGRAPHY field. Specifies the BIDIOUTLINE field. Specifies the CITATION field. Specifies the COMMENTS field. Specifies the COMPARE field. Specifies the CREATEDATE field. Specifies the DATA field. Specifies the DATABASE field. Specifies the DATE field. Specifies the DDE field. Specifies the DISPLAYBARCODE field. Specifies the MERGEBARCODE field. Specifies the DDEAUTO field. Specifies the DOCPROPERTY field. Specifies the DOCVARIABLE field. Specifies the EDITTIME field. Specifies the EMBED field. Specifies the EQ field. Specifies the FILENAME field. Specifies the FILESIZE field. Specifies the FILLIN field. Specifies the FOOTNOTEREF field. Specifies the FORMCHECKBOX field. Specifies the FORMDROPDOWN field. Specifies the FORMTEXT field. Specifies the = (formula) field. Specifies the GREETINGLINE field. Specifies the GLOSSARY field. Specifies the GOTOBUTTON field. Specifies the field that represents an HTML control. Specifies the HYPERLINK field. Specifies the IF field. Specifies the INCLUDE field. Specifies the INCLUDEPICTURE field. Specifies the INCLUDETEXT field. Specifies the INDEX field. Specifies the XE field. Specifies the INFO field. Specifies the IMPORT field. Specifies the KEYWORDS field. Specifies the LASTSAVEDBY field. Specifies the LINK field. Specifies the LISTNUM field. Specifies the MACROBUTTON field. Specifies the MERGEFIELD field. Specifies the MERGEREC field. Specifies the MERGESEQ field. Specifies the NEXT field. Specifies the NEXTIF field. Specifies the NOTEREF field. Specifies the NUMCHARS field. Specifies the NUMPAGES field. Specifies the NUMWORDS field.

Specifies the OCX field.

Normally, Aspose.Words will represent an ActiveX control as a object, but for some documents, where a control does not have data and/or seems to be invalid, it will be represented as a field.

Specifies the PAGE field. Specifies the PAGEREF field. Specifies the PRINT field. Specifies the PRINTDATE field. Specifies the PRIVATE field. Specifies the QUOTE field. Specifies the REF field. Specifies that the field represents a REF field where the keyword has been omitted. Specifies the RD field. Specifies the REVNUM field. Specifies the SAVEDATE field. Specifies the SECTION field. Specifies the SECTIONPAGES field. Specifies the SEQ field. Specifies the SET field. Specifies the SHAPE field. Specifies the SKIPIF field. Specifies the STYLEREF field. Specifies the SUBJECT field. Specifies the SYMBOL field. Specifies the TEMPLATE field. Specifies the TIME field. Specifies the TITLE field. Specifies the TOA field. Specifies the TA field. Specifies the TOC field. Specifies the TC field. Specifies the USERADDRESS field. Specifies the USERINITIALS field. Specifies the USERNAME field. Allows to access OLE Package properties. OLE package is a legacy and "undocumented" way to store embedded object if OLE handler is unknown. Early Windows versions such as Windows 3.1, 95 and 98 had Packager.exe application which could be used to embed any type of data into document. Now this application is excluded from Windows but MS Word and other applications still use it to embed data if OLE handler is missing or unknown. Gets or sets OLE Package file name. Gets or sets OLE Package display name. The Aspose.Words.Drawing namespace provides classes that allow to create and modify drawing objects. All drawing objects in in Microsoft Word documents are represented by instances of the and classes. An object of the class is a node in a document and can represent a picture, textbox, AutoShape or an OLE object. The classes in this namespace support the latest (Word 2007 - 2013 DrawingML) and the earlier (pre Word 2007 - Office Art) shapes. Specifies Markup language used for the shape. Drawing Markup Language is used to define the shape. This is the new standard for drawing for Office Open XML which has appeared first in ECMA-376 1st edition (2006), first appeared in MS Word 2007. Vector Markup Language is used to define the shape. A deprecated format included in Office Open XML for legacy reasons only. Provides access to signature line properties. Gets or sets suggested signer of the signature line. Default value for this property is empty string (). Gets or sets suggested signer's title (for example, Manager). Default value for this property is empty string (). Gets or sets suggested signer's e-mail address. Default value for this property is empty string (). Gets or sets a value indicating that default instructions is shown in the Sign dialog. Default value for this property is true. Gets or sets instructions to the signer that are displayed on signing the signature line. This property is ignored if is set. Default value for this property is empty string (). Gets or sets a value indicating that the signer can add comments in the Sign dialog. Default value for this property is false. Gets or sets a value indicating that sign date is shown in the signature line. Default value for this property is true. Gets or sets identifier for this signature line.

This identifier can be associated with a digital signature, when signing document using . This value must be unique and by default it is randomly generated new Guid ().

Gets or sets signature provider identifier for this signature line. Default value is "{00000000-0000-0000-0000-000000000000}". The cryptographic service provider (CSP) is an independent software module that actually performs cryptography algorithms for authentication, encoding, and encryption. MS Office reserves the value of {00000000-0000-0000-0000-000000000000} for its default signature provider. The GUID of the additionally installed provider should be obtained from the documentation shipped with the provider. In addition, all the installed cryptographic providers are enumerated in windows registry. It can be found in the following path: HKLM\SOFTWARE\Microsoft\Cryptography\Defaults\Provider. There is a key name "CP Service UUID" which corresponds to a GUID of signature provider. Indicates that signature line is signed by digital signature. Indicates that signature line is signed by digital signature and this digital signature is valid. Length of the arrow at the end of a line. Same as . Specifies the type of an arrow at a line end. The line does not have an arrow at the end. The arrow is a solid triangle. The arrow is a "stealth" arrow. The line end is a solid diamond. The line end is a solid oval. The arrow is an open arrow. Same as . Width of the arrow at the end of a line. Same as . Dashed line style. Solid (continuous) pen. System dash style. System dash style. System dash style. System dash style. Square dot style. Dash style. Long dash style. Dash short dash. Long dash short dash. Long dash short dash short dash. Same as . Specifies line cap style. Rounded ends. Square protrudes by half line width. Line ends at end point. Default value is . Defines a fill for a shape.

Use the property to access fill properties of a shape. You do not create instances of the class directly.

Although the class provides properties to specify solid color fill only, all of the more complex fill types, including as gradient, pattern and texture are fully preserved during document open-save cycles.

Defines the color of a fill.

The default value is .

Defines the transparency of a fill. Valid range from 0 to 1, where 0 is fully transparent and 1 is fully opaque.

The default value is 1.

Determines whether the shape will be filled.

The default value is true.

Gets the raw bytes of the fill texture or pattern.

The default value is null.

Possible values for the orientation of a shape. Coordinates are not flipped. Flip along the y-axis, reversing the x-coordinates. Flip along the x-axis, reversing the y-coordinates. Flip along both the y- and x-axis. Specifies horizontal alignment of a floating shape, text frame or floating table. Do not renumber. The values are taken from the RTF specification. The object is explicitly positioned, usually using its Left property. Same as . Specifies that the object shall be left aligned to the horizontal alignment base. Specifies that the object shall be centered with respect to the horizontal alignment base. Specifies that the object shall be right aligned to the horizontal alignment base. Specifies that the object shall be inside of the horizontal alignment base. Specifies that the object shall be outside of the horizontal alignment base. Defines an image for a shape.

Use the property to access and modify the image inside a shape. You do not create instances of the class directly.

An image can be stored inside a shape, linked to external file or both (linked and stored in the document).

Regardless of whether the image is stored inside the shape or linked, you can always access the actual image using the , , or methods. If the image is stored inside the shape, you can also directly access it using the property.

To store an image inside a shape use the method. To link an image to a shape, set the property.

Sets the image that the shape displays. The image object. Sets the image that the shape displays. The stream that contains the image. Sets the image that the shape displays. The image file. Can be a file name or a URL. Gets the image stored in the shape as a object.

A new object is created every time this method is called.

It is the responsibility of the caller to dispose the image object.

Creates and returns a stream that contains the image bytes.

If the image bytes are stored in the shape, creates and returns a object.

If the image is linked and stored in a file, opens the file and returns a object.

If the image is linked and stored in an external URL, downloads the file and returns a object.

Is it the responsibility of the caller to dispose the stream object.

Returns image bytes for any image regardless whether the image is stored or linked. If the image is linked, downloads the image every time it is called. Saves the image into the specified stream. The stream where to save the image to. Saves the image of the shape.

Is it the responsibility of the caller to dispose the stream object.

Saves the image into a file. The file name where to save the image. Gets or sets the raw bytes of the image stored in the shape. Setting the value to null or an empty array will remove the image from the shape.

Returns null if the image is not stored in the document (e.g the image is probably linked in this case).

Returns true if the shape has image bytes or links an image. Gets the information about image size and resolution.

If the image is linked only and not stored in the document, returns zero size.

Gets the type of the image. Returns true if the image is linked to the shape (when is specified). Returns true if the image is linked and not stored in the document. Gets or sets the path and name of the source file for the linked image.

The default value is an empty string.

If is not an empty string, the image is linked.

Defines the title of an image.

The default value is an empty string.

Defines the fraction of picture removal from the top side.

The amount of cropping can range from -1.0 to 1.0. The default value is 0. Note that a value of 1 will display no picture at all. Negative values will result in the picture being squeezed inward from the edge being cropped (the empty space between the picture and the cropped edge will be filled by the fill color of the shape). Positive values less than 1 will result in the remaining picture being stretched to fit the shape.

The default value is 0.

Defines the fraction of picture removal from the bottom side.

The amount of cropping can range from -1.0 to 1.0. The default value is 0. Note that a value of 1 will display no picture at all. Negative values will result in the picture being squeezed inward from the edge being cropped (the empty space between the picture and the cropped edge will be filled by the fill color of the shape). Positive values less than 1 will result in the remaining picture being stretched to fit the shape.

The default value is 0.

Defines the fraction of picture removal from the left side.

The amount of cropping can range from -1.0 to 1.0. The default value is 0. Note that a value of 1 will display no picture at all. Negative values will result in the picture being squeezed inward from the edge being cropped (the empty space between the picture and the cropped edge will be filled by the fill color of the shape). Positive values less than 1 will result in the remaining picture being stretched to fit the shape.

The default value is 0.

Defines the fraction of picture removal from the right side.

The amount of cropping can range from -1.0 to 1.0. The default value is 0. Note that a value of 1 will display no picture at all. Negative values will result in the picture being squeezed inward from the edge being cropped (the empty space between the picture and the cropped edge will be filled by the fill color of the shape). Positive values less than 1 will result in the remaining picture being stretched to fit the shape.

The default value is 0.

Gets the collection of borders of the image. Borders only have effect for inline images. Defines the color value of the image that will be treated as transparent.

The default value is 0.

Gets or sets the brightness of the picture. The value for this property must be a number from 0.0 (dimmest) to 1.0 (brightest).

The default value is 0.5.

Gets or sets the contrast for the specified picture. The value for this property must be a number from 0.0 (the least contrast) to 1.0 (the greatest contrast).

The default value is 0.5.

Determines whether an image will be displayed in black and white.

The default value is false.

Determines whether a picture will display in grayscale mode.

The default value is false.

Contains information about image size and resolution. Initializes width and height to the given values in pixels. Initializes resolution to 96 dpi. Width in pixels. Height in pixels. Initializes width, height and resolution to the given values. Width in pixels. Height in pixels. Horizontal resolution in DPI. Vertical resolution in DPI. Creates an object from an internal image size object. Gets the width of the image in pixels. Gets the height of the image in pixels. Gets the horizontal resolution in DPI. Gets the vertical resolution in DPI. Gets the width of the image in points. 1 point is 1/72 inch. Gets the height of the image in points. 1 point is 1/72 inch. Specifies the type (format) of an image in a Microsoft Word document. Do not renumber these. The values correspond to MSOBLIPTYPE in the Binary Drawing format. The is no image data. The spec says: "An error occurred during loading." I've seen this in some places, more likely it means "this blip record is unused". An unknown image type or image type that cannot be directly stored inside a Microsoft Word document. Windows Enhanced Metafile. Windows Metafile. Macintosh PICT. An existing image will be preserved in a document, but inserting new PICT images into a document is not supported. JPEG JFIF. Portable Network Graphics. Windows Bitmap. Note this is BMP in my model, but in a Word document this is stored as a DIB. DIB is basically a BMP without a header. Line join style. Join edges by a straight line. Extend edges until they join. Draw an arc between the two edges. Determines the flow of the text layout in a textbox. Do not renumber. The values are from the RTF spec. Text is displayed horizontally. Ideographic text is displayed vertically. Text is displayed vertically. Text is displayed vertically. Ideographic text is displayed horizontally. Text is displayed vertically. Provides access to the data of an OLE object or ActiveX control.

Use the property to access the data of an OLE object. You do not create instances of the class directly.

Saves the data of the embedded object into the specified stream.

It is the responsibility of the caller to dispose the stream.

Throws if you attempt to save a linked object. Where to save the object data.
Saves the data of the embedded object into a file with the specified name. Throws if you attempt to save a linked object. Name of the file to save the OLE object data. Gets OLE object data entry. Case-sensitive name of the OLE data stream. An OLE data stream or null. Gets icon caption of OLE object. In case of OLE object is not embedded as icon or caption couldn't be retrieved returns empty string. Gets the file extension suggested for the current embedded object if you want to save it into a file. Gets the file name suggested for the current embedded object if you want to save it into a file. Gets or sets the ProgID of the OLE object. The ProgID property is not always present in Microsoft Word documents and cannot be relied upon. Cannot be null.

The default value is an empty string.

Returns true if the OLE object is linked (when is specified). Gets or sets the path and name of the source file for the linked OLE object.

The default value is an empty string.

If is not an empty string, the OLE object is linked.

Gets or sets a string that is used to identify the portion of the source file that is being linked.

The default value is an empty string.

For example, if the source file is a Microsoft Excel workbook, the property might return "Workbook1!R3C1:R4C2" if the OLE object contains only a few cells from the worksheet.

Specifies whether the link to the OLE object is automatically updated or not in Microsoft Word.

The default value is false.

Gets the draw aspect of the OLE object. When true, the OLE object is displayed as an icon. When false, the OLE object is displayed as content. Aspose.Words does not allow to set this property to avoid confusion. If you were able to change the draw aspect in Aspose.Words, Microsoft Word would still display the OLE object in its original draw aspect until you edit or update the OLE object in Microsoft Word. Specifies whether the link to the OLE object is locked from updates.

The default value is false.

Gets the CLSID of the OLE object. Provide access to if OLE object is an OLE Package. Returns null otherwise. OLE Package is a legacy technology that allows to wrap any file format not present in the OLE registry of a Windows system into a generic package allowing to embed almost anything into a document. See type for more info. Has meaning only if ProgId equal to "Package" otherwise is null. Gets objects if this OLE object is an ActiveX control. Otherwise this property is null. Specifies to what the horizontal position of a shape or text frame is relative. Do not renumber. The values are taken from the RTF specification. Specifies that the horizontal positioning shall be relative to the page margins. The object is positioned relative to the left edge of the page. The object is positioned relative to the left side of the column. The object is positioned relative to the left side of the paragraph. Specifies that the horizontal positioning shall be relative to the left margin of the page. Specifies that the horizontal positioning shall be relative to the right margin of the page. Specifies that the horizontal positioning shall be relative to the inside margin of the current page (the left margin on odd pages, right on even pages). Specifies that the horizontal positioning shall be relative to the outside margin of the current page (the right margin on odd pages, left on even pages). Default value is . Specifies to what the vertical position of a shape or text frame is relative. Do not renumber. The values are taken from the RTF specification. Specifies that the vertical positioning shall be relative to the page margins. The object is positioned relative to the top edge of the page. The object is positioned relative to the top of the paragraph that contains the anchor. Undocumented. Specifies that the vertical positioning shall be relative to the top margin of the current page. Specifies that the vertical positioning shall be relative to the bottom margin of the current page. Specifies that the vertical positioning shall be relative to the inside margin of the current page. Specifies that the vertical positioning shall be relative to the outside margin of the current page. Default value is . Default value is . Specifies the compound line style of a . This enum name violates the rule "enum name equals property name", but I have to avoid collision between Aspose.Words.LineStyle and this line style because otherwise it will be too hard to port to Java as all types are in the same namespace in Java. Single line. Double lines of equal width. Double lines, one thick, one thin. Double lines, one thin, one thick. Three lines, thin, thick, thin. Default value is . Specifies the type of shape in a Microsoft Word document. The shape is an image. The shape is a textbox. Note that shapes of many other types can also have text inside them too. A shape does not have to have this type to contain text.

The shape is a group shape.

In DOC file, shape group has shape type NonPrimitive, we don't want this in the model, so in the model it is our own constant.
The shape is an OLE object.

You cannot create shapes of this type in the document.

In Microsoft Word, shapes that represent OLE objects have shape type picture, but in our model, they are distinguished into their own shape type.
The shape is an ActiveX control.

You cannot create shapes of this type in the document.

In DOC and RTF, shapes that represent ActiveX controls have shape type picture. In WordML, ActiveX controls have their own shape type and so is in the model.
A shape drawn by user and consisting of multiple segments and/or vertices (curve, freeform or scribble).

You cannot create shapes of this type in the document.

This shape type seems to be set for shapes that are not part of the standard set of the auto shapes in Microsoft Word. For example, if you insert a new auto shape from ClipArt.

You cannot create shapes of this type in the document.

WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. WordArt object. Snip single corner rectangle object. Applicable only for DML shapes. Snip same side corner rectangle. Applicable only for DML shapes. Snip diagonal corner rectangle. Applicable only for DML shapes. Snip and round single corner rectangle. Applicable only for DML shapes. Round single corner rectangle. Applicable only for DML shapes. Round same side corner rectangle. Applicable only for DML shapes. Round diagonal corner rectangle. Applicable only for DML shapes. Reserved for the system use. Defines a stroke for a shape.

Use the property to access stroke properties of a shape. You do not create instances of the class directly.

Defines whether the path will be stroked.

The default value is true.

Defines the brush thickness that strokes the path of a shape in points.

The default value is 0.75.

Defines the color of a stroke.

The default value is .

Defines a second color for a stroke.

The default value is .

Specifies the dot and dash pattern for a stroke.

The default value is .

Defines the join style of a polyline.

The default value is .

Defines the cap style for the end of a stroke.

The default value is .

Defines the line style of the stroke.

The default value is .

Defines the arrowhead for the start of a stroke.

The default value is .

Defines the arrowhead for the end of a stroke.

The default value is .

Defines the arrowhead width for the start of a stroke.

The default value is .

Defines the arrowhead length for the start of a stroke.

The default value is .

Defines the arrowhead width for the end of a stroke.

The default value is .

Defines the arrowhead length for the end of a stroke.

The default value is .

Defines the amount of transparency of a stroke. Valid range is from 0 to 1.

The default value is 1.

Defines the image for a stroke image or pattern fill. Defines attributes that specify how a text is displayed inside a shape.

Use the property to access text properties of a shape. You do not create instances of the class directly.

Determines whether this TextBox can be linked to the target Textbox. Breaks the link to the next TextBox. BreakForwardLink() doesn't break all other links in the current sequence of shapes. For example: 1-2-3-4 sequence and BreakForwardLink at the 2-nd textbox will create two sequences 1-2, 3-4. Specifies the inner left margin in points for a shape.

The default value is 1/10 inch.

Specifies the inner right margin in points for a shape.

The default value is 1/10 inch.

Specifies the inner top margin in points for a shape.

The default value is 1/20 inch.

Specifies the inner bottom margin in points for a shape.

The default value is 1/20 inch.

Determines whether Microsoft Word will grow the shape to fit text.

The default value is false.

Determines the flow of the text layout in a shape.

The default value is .

Determines how text wraps inside a shape.

The default value is .

Specifies the vertical alignment of the text within a shape.

The default value is .

Returns or sets a TextBox that represents the next TextBox in a sequence of shapes. Returns a TextBox that represents the previous TextBox in a sequence of shapes. Gets a parent shape for the TextBox. Specifies values used for shape text vertical alignment. Do not renumber. The values are from the RTF spec. Text is aligned to the top of the textbox. Text is aligned to the middle of the textbox. Text is aligned to the bottom of the textbox. Text is aligned to the top centered of the textbox. Text is aligned to the middle centered of the textbox. Text is aligned to the bottom centered of the textbox. Text is aligned to the top baseline of the textbox. Text is aligned to the bottom baseline of the textbox. Text is aligned to the top centered baseline of the textbox. Text is aligned to the bottom centered baseline of the textbox. Specifies how text wraps inside a shape. Text wraps inside a shape. Text does not wrap inside a shape. Defines the text and formatting of the text path (of a WordArt object).

Use the property to access WordArt properties of a shape. You do not create instances of the class directly.

Defines whether the text is displayed.

The default value is false.

Defines whether the text fits the path of a shape.

The default value is false.

Defines whether the text fits bounding box of a shape.

The default value is false.

Defines the family of the textpath font.

The default value is Arial.

Defines the size of the font in points.

The default value is 36.

True if the font is formatted as bold.

The default value is false.

True if the font is formatted as italic.

The default value is false.

True if the font is formatted as small capital letters.

The default value is false.

Determines whether the letters of the text are rotated.

The default value is false.

Determines whether extra space is removed above and below the text.

The default value is false.

Determines whether kerning is turned on.

The default value is false.

Defines whether a shadow is applied to the text on a text path.

The default value is false.

True if the font is underlined.

The default value is false.

True if the font is formatted as strikethrough text.

The default value is false.

Determines whether all letters will be the same height regardless of initial case.

The default value is false.

Defines the text of the text path.

The default value is an empty string.

Defines the alignment of text.

The default value is .

Determines whether the layout order of rows is reversed.

The default value is false.

If true, the layout order of rows is reversed. This attribute is used for vertical text layout.

Defines the amount of spacing for text. 1 means 100%.

The default value is 1.

Determines whether a straight textpath will be used instead of the shape path.

The default value is false.

If true, the text runs along a path from left to right along the x value of the lower boundary of the shape.

WordArt alignment. Stretch each line of text to fit width. Center text on width. Left justify. Right justify. Spread letters out to fit width. Spread words out to fit width. Specifies vertical alignment of a floating shape, text frame or a floating table. Do not renumber. The values are taken from the RTF specification. The object is explicitly positioned, usually using its Top property. Specifies that the object shall be at the top of the vertical alignment base. Specifies that the object shall be centered with respect to the vertical alignment base. Specifies that the object shall be at the bottom of the vertical alignment base. Specifies that the object shall be inside of the horizontal alignment base. Specifies that the object shall be outside of the vertical alignment base. Not documented. Seems to be a possible value for floating paragraphs and tables. Same as . Specifies what side(s) of the shape or picture the text wraps around. The document text wraps on both sides of the shape. The document text wraps on the left side of the shape only. There is a text free area on the right of the shape. The document text wraps on the right side of the shape only. There is a text free area on the left side of the shape. The document text wraps on the side of the shape that is farthest from the page margin, leaving text free area on the other side of the shape. Default value is . Specifies how text is wrapped around a shape or picture. No text wrapping around the shape. The shape is placed behind or in front of text. The shape remains on the same layer as text and treated as a character. The text stops at the top of the shape and restarts on the line below the shape. Wraps text around all sides of the square bounding box of the shape. Wraps tightly around the edges of the shape, instead of wrapping around the bounding box. Same as Tight, but wraps inside any parts of the shape that are open. Contains classes to work with OLE / ActiveX controls and forms in Microsoft Word documents. Represents OLE ActiveX control. Returns true if the control is a . Gets name of the ActiveX control. Represents collection of objects. Gets object at specified index. Gets count of objects in the collection. Represents Microsoft Forms 2.0 OLE control. Gets Caption property of control. Default value is an empty string. Gets underlying Value property which often represents control state. For example checked option button has '1' value while unchecked has '0'. Default value is an empty string. Returns true if control is in enabled state. Gets collection of immediate child controls. Returns null if this control can not have children. Gets type of Forms 2.0 control.

The Aspose.Words.Drawing namespace contains classes that allow to create and modify drawing objects in Microsoft Word documents.

Aspose.Words supports all drawing objects in Microsoft Word documents, including OfficeArt shapes, textboxes, pictures, diagrams, OLE objects and ActiveX controls.

The main classes in this namespace are:

represents an object in the drawing layer, such as an AutoShape, textbox, freeform, OLE object, ActiveX control, or picture. represents a group of shapes in a document. is the base class for the shape and group shape classes, provides all common shape properties such as position, size and text wrapping. A shape is a node in the document tree.

Although not every type of drawing object can be programmatically created and not every shape property can be accessed, all drawing objects are fully preserved in Microsoft Word documents during document open-save operations.

Names of classes, methods and properties in this namespace correspond to VML DOM where possible.

Represents minimum or maximum bound of axis values. Bound can be specified as a numeric, datetime or a special "auto" value. The instances of this class are immutable. Creates a new instance indicating that axis bound should be determined automatically by a word-processing application. Creates an axis bound represented as a number. Creates an axis bound represented as datetime value. Determines whether the specified object is equal in value to the current object. Serves as a hash function for this type. Returns a user-friendly string that displays the value of this object. Returns a flag indicating that axis bound should be determined automatically. Returns numeric value of axis bound. Returns value of axis bound represented as datetime. Specifies type of a category axis. Specifies that type of a category axis is determined automatically based on data. Specifies an axis of an arbitrary set of categories. Specifies a time category axis. Specifies the possible scale types for an axis. Linear scaling. Logarithmic scaling. Represents number formatting of the parent element. Gets or sets the format code applied to a data label. Number formatting is used to change the way a value appears in data label and can be used in some very creative ways. The examples of number formats: Number - "#,##0.00"Currency - "\"$\"#,##0.00"Time - "[$-x-systime]h:mm:ss AM/PM"Date - "d/mm/yyyy"Percentage - "0.00%"Fraction - "# ?/?"Scientific - "0.00E+00"Text - "@"Accounting - "_-\"$\"* #,##0.00_-;-\"$\"* #,##0.00_-;_-\"$\"* \"-\"??_-;_-@_-"Custom with color - "[Red]-#,##0.0" Specifies whether the format code is linked to a source cell. Default is true. The NumberFormat will be reset to general if format code is linked to source. Provides access to the chart shape properties. Provides access to series collection. Provides access to the chart title properties. Provides access to the chart legend properties. Provides access to properties of the X axis of the chart. Provides access to properties of the Y axis of the chart. Provides access to properties of the Z axis of the chart. Specifies type of a chart. Area chart. Stacked Area chart. 100% Stacked Area chart. 3D Area chart. 3D Stacked Area chart. 3D 100% Stacked Area chart. Bar chart. Stacked Bar chart. 100% Stacked Bar chart. 3D Bar chart. 3D Stacked Bar chart. 3D 100% Stacked Bar chart. Bubble chart. 3D Bubble chart. Column chart. Stacked Column chart. 100% Stacked Column chart. 3D Column chart. 3D Stacked Column chart. 3D 100% Stacked Column chart. 3D Clustered Column chart. Doughnut chart. Line chart. Stacked Line chart. 100% Stacked Line chart. 3D Line chart. Pie chart. 3D Pie chart. Pie of Bar chart. Pie of Pie chart. Radar chart. Scatter chart. Stock chart. Surface chart. 3D Surface chart. Contains properties of a single data point on the chart. Specifies the amount the data point shall be moved from the center of the pie. Can be negative, negative means that property is not set and no explosion should be applied. Applies only to Pie charts. Specifies whether the parent element shall inverts its colors if the value is negative. Specifies a data marker. Marker is automatically created when requested. Specifies whether the bubbles in Bubble chart should have a 3-D effect applied to them. The Aspose.Words.Drawing.Charts namespace provides classes that allow to access charts in Microsoft Word documents. The chart supported are Word 2007 (or higher) DrawingML Charts. Represents collection of a . Returns an enumerator object. Removes a at the specified index. The zero-based index of the ChartSeries to remove. Removes all from this collection. Adds new to this collection. Use this method to add series to any type of Bar, Column, Line and Surface charts. Recently added object. Adds new to this collection. Use this method to add series to any type of Scatter charts. Recently added object. Adds new to this collection. Use this method to add series to any type of Area, Radar and Stock charts. Adds new to this collection. Use this method to add series to any type of Bubble charts. Recently added object. Returns a at the specified index.

The index is zero-based.

Negative indexes are allowed and indicate access from the back of the collection. For example -1 means the last item, -2 means the second before last and so on.

If index is greater than or equal to the number of items in the list, this returns a null reference.

If index is negative and its absolute value is greater than the number of items in the list, this returns a null reference.

An index into the collection.
Returns the number of in this collection. Represents data label on a chart point or trendline. On a series, the object is a member of the . The contains a object for each point. Specifies the index of the containing element. This index shall determine which of the parent's children collection this element applies to. Default value is 0. Allows to specify if category name is to be displayed for the data labels on a chart. Default value is false. Allows to specify if bubble size is to be displayed for the data labels on a chart. Applies only to Bubble charts. Default value is false. Allows to specify if legend key is to be displayed for the data labels on a chart. Default value is false. Allows to specify if percentage value is to be displayed for the data labels on a chart. Default value is false. Returns or sets a Boolean to indicate the series name display behavior for the data labels on a chart. True to show the series name. False to hide. By default false. Allows to specify if values are to be displayed in the data labels. Default value is false. Allows to specify if data label leader lines need be shown. Default value is false. Applies to Pie charts only. Leader lines create a visual connection between a data label and its corresponding data point. Allows to specify if values from data labels range to be displayed in the data labels. Default value is false. Gets or sets string separator used for the data labels on a chart. The default is a comma, except for pie charts showing only category name and percentage, when a line break shall be used instead. Returns true if this data label has something to display. Returns number format of the parent element. Represents a collection of . Returns an enumerator object. Adds new at the specified index. Target data label index. Removes a at the specified index. The zero-based index of the chart data label to remove. Removes all from this collection. Returns for the specified index. Returns the number of in this collection. Allows to specify formatting of a single data point on the chart. On a series, the object is a member of the . The contains a object for each point. Index of the data point this object applies formatting to. Represents collection of a . Returns an enumerator object. Adds new at the specified index. Target data point index. Removes a at the specified index. The zero-based index of the bookmark to remove. Removes all from this collection. Returns for the specified index. If there is no ChartDataPoint for the specified index, returns default series ChartDataPoint. Returns the number of in this collection. Provides access to the scaling options of the display units for the value axis. Corresponds to the dispUnits element (5.7.2.45, 21.2.2.45). Gets or sets the scaling value of the display units as one of the predefined values. Default value is . The and values are not available in some chart types; see for more information. Gets or sets a user-defined divisor to scale display units on the value axis. The property is not supported by MS Office 2016 new charts. Default value is 1. Setting this property sets the property to . Represents chart legend properties. Specifies the position of the legend on a chart. Default value is . Determines whether other chart elements shall be allowed to overlap legend. Default value is false. Represents a chart data marker. Gets or sets chart marker symbol. Gets or sets chart marker size. Default value is 7. Represents the scaling options of the axis. Gets or sets scaling type of the axis. The value is the only that is allowed in MS Office 2016 new charts. Gets or sets the logarithmic base for a logarithmic axis. The property is not supported by MS Office 2016 new charts. Valid range of a floating point value is greater than or equal to 2 and less than or equal to 1000. The property has effect only if is set to . Setting this property sets the property to . Gets or sets minimum value of the axis. The default value is "auto". Gets or sets the maximum value of the axis. The default value is "auto". Provides access to the chart title properties. Gets or sets the text of the chart title. If null or empty value is specified, auto generated title will be shown. Use option if you need to hide the Title. Determines whether other chart elements shall be allowed to overlap title. By default overlay is false. Determines whether the title shall be shown for this chart. Default value is true. Specifies type of chart axis. Category axis of a chart. Series axis of a chart. Value axis of a chart. Represents chart series properties. Returns a collection of formatting objects for all data points in this series. Gets or sets the name of the series, if name is not set explicitly it is generated using index. By default returns Series plus one based index. Allows to specify whether the line connecting the points on the chart shall be smoothed using Catmull-Rom splines. Specifies the settings for the data labels for the entire series. Specifies the display units for an axis. Corresponds to the ST_BuiltInUnit simple type (5.7.3.6). Specifies the values on the chart shall displayed as is. Specifies the values on the chart shall be divided by a user-defined divisor. This value is not supported by the new chart types of MS Office 2016. Specifies the values on the chart shall be divided by 1,000,000,000. Specifies the values on the chart shall be divided by 100,000,000. Specifies the values on the chart shall be divided by 100. Specifies the values on the chart shall be divided by 100,000. Specifies the values on the chart shall be divided by 1,000,000. Specifies the values on the chart shall be divided by 10,000,000. Specifies the values on the chart shall be divided by 10,000. Specifies the values on the chart shall be divided by 1,000. Specifies the values on the chart shall be divided by 1,000,000,000,0000. Specifies the values on the chart shall be divided by 0.01. This value is supported only by the new chart types of MS Office 2016. Specifies the possible crossing points for an axis. The category axis crosses at the zero point of the value axis (if possible), or at the minimum value if the minimum is greater than zero, or at the maximum if the maximum is less than zero. A perpendicular axis crosses at the maximum value of the axis. A perpendicular axis crosses at the minimum value of the axis. A perpendicular axis crosses at the specified value of the axis. Specifies the possible positions for a chart legend. No legend will be shown for the chart. Specifies that the legend shall be drawn at the bottom of the chart. Specifies that the legend shall be drawn at the left of the chart. Specifies that the legend shall be drawn at the right of the chart. Specifies that the legend shall be drawn at the top of the chart. Specifies that the legend shall be drawn at the top right of the chart. Specifies marker symbol style. Specifies a default marker symbol shall be drawn at each data point. Specifies a circle shall be drawn at each data point. Specifies a dash shall be drawn at each data point. Specifies a diamond shall be drawn at each data point. Specifies a dot shall be drawn at each data point. Specifies nothing shall be drawn at each data point. Specifies a picture shall be drawn at each data point. Specifies a plus shall be drawn at each data point. Specifies a square shall be drawn at each data point. Specifies a star shall be drawn at each data point. Specifies a triangle shall be drawn at each data point. Specifies an X shall be drawn at each data point. Specifies the possible positions for tick labels. Specifies the axis labels shall be at the high end of the perpendicular axis. Specifies the axis labels shall be at the low end of the perpendicular axis. Specifies the axis labels shall be next to the axis. Specifies the axis labels are not drawn. Specifies default value of tick labels position. Specifies the possible positions for tick marks. Specifies that the tick marks shall cross the axis. Specifies that the tick marks shall be inside the plot area. Specifies that the tick marks shall be outside the plot area. Specifies that there shall be no tick marks. Specifies the unit of time for axes. Specifies that unit was not set explicitly and default value should be used. Specifies that the chart data shall be shown in days. Specifies that the chart data shall be shown in months. Specifies that the chart data shall be shown in years. Specifies which revisions are rendered in balloons. Note that these values do not affect rendering of comments, which are controlled by . Renders insert, delete and format revisions inline. Renders insert and delete revisions inline, format revisions in balloons. Renders insert revisions inline, delete and format revisions in balloons. Allows to specify decoration effect for revisions of document text. Revised content has no special effects applied. This corresponds to . Revised content is highlighted with color only. Revised content is made bold and colored. Revised content is made italic and colored. Revised content is underlined and colored. Revised content is double underlined and colored. Revised content is stroked through and colored. Revised content is double stroked through and colored. Only works for , and ('move from' type). Revised content is hidden. Only works for and ('move from' type). Allows to specify color of document revisions. Default. Represents 000000 color. Represents 2e97d3 color. Represents 84a35b color. Represents 376e96 color. Represents 881824 color. Represents e09a2b color. Represents a0a3a9 color. Represents 50565e color. Represents 2c6234 color. Represents ce338f color. Represents b5082e color. Represents 1b9cab color. Represents 3eafc2 color. Represents 633277 color. Represents ffffff color. Represents fad272 color. No color is used to highlight revision changes. We shall consider getting rid of this one as it duplicates . I believe it has no use if is publicly available. It is confusing to use and together, or and for example. Revisions of each author receive their own color for highlighting from a predfined set of hi-contrast colors. Allows to control how document revisions are handled during layout process. Allow to specify whether revision text should be marked with special formatting markup. Default value for this property is true. Allows to specify whether revision bars should be rendered near lines containing revised content. Default value for this property is true. Allows to specify whether the original text should be shown instead of revised one. Default value for this property is false. Allows to specify the color to be used for inserted content . Default value for this property is . Allows to specify the effect to be applied to the inserted content . Default value is . Values of and are not allowed and will cause . Allows to specify the color to be used for deleted content . Default value for this property is . Allows to specify the effect to be applied to the deleted content . Default value is Allows to specify the color to be used for areas where content was moved from . Default value for this property is . Allows to specify the effect to be applied to the areas where content was moved from . Default value is Allows to specify the color to be used for areas where content was moved to . Default value for this property is . Allows to specify the effect to be applied to the areas where content was moved to . Default value is Values of and are not allowed and will cause . Allows to specify the color to be used for content with changes of formatting properties Default value for this property is . Allows to specify the effect for content areas with changes of formatting properties Default value is is not allowed and will cause . Allows to specify the color to be used for side bars that identify document lines containing revised information. Default value for this property is . Setting this property to or values will result in hiding revision bars from the layout. Gets or sets width of revision bars, points. Allows to specify the color to be used for comments. Default value for this property is . If set this property to or values, as the result this property will be set to default color. Allows to specify whether the revisions are rendered in the balloons. Default value for this property is Holds the options that allow controlling the document layout process. You do not create instances of this class directly. Use the property to access layout options for this document. Note that after changing any of the options present in this class, method should be called in order for the changed options to be applied to the layout. Gets revision options. Gets or sets indication of whether hidden text in the document is rendered. Default is False. This property affects all hidden content, not just text. Gets or sets indication of whether paragraph marks are rendered. Default is False. Gets or sets indication of whether comments are rendered. Default is True. Gets or sets implementation used for Advanced Typography rendering features. Types of the layout entities. Default value. Represents page of a document. Page may have , and child entities. Represents a column of text on a page. Column may have the same child entities as , plus , and entities. Represents a table row. Row may have as child entities. Represents a table cell. Cell may have and child entities. Represents line of characters of text and inline objects. Line may have child entities. Represents one or more characters in a line. This include special characters like field start/end markers, bookmarks and comments. Span may not have child entities. Represents placeholder for footnote content. Footnote may have and child entities. Represents placeholder for endnote content. Endnote may have and child entities. Represents placeholder for header/footer content on a page. HeaderFooter may have and child entities. Represents text area inside of a shape. Textbox may have and child entities. Represents placeholder for comment content. Comment may have and child entities. Represents footnote/endnote separator. NoteSeparator may have and child entities. This class allows to compute page numbers of document nodes. When you create a and specify a document object to attach to, the collector will record mapping of document nodes to layout objects when the document is formatted into pages. You will be able to find out on which page a particular document node (e.g. run, paragraph or table cell) is located by using the , and methods. These methods automatically build page layout model of the document and update fields if required. When you no longer need to collect layout information, it is best to set the property to null to avoid unnecessary collection of more layout mappings. !!! DO NOT USE THIS CLASS INTERNALLY IN AW. CONTACT LAYOUT TEAM FOR YOUR CUSTOM SOLUTION FIRST !!! Initializes an instance of this class. The document to which this collector instance will be attached to. Gets 1-based index of the page where node begins. Returns 0 if node cannot be mapped to a page. Gets 1-based index of the page where node ends. Returns 0 if node cannot be mapped to a page. Gets number of pages the specified node spans. 0 if node is within a single page. This is the same as - . Clears all collected layout data. Call this method after document was manually updated, or layout was rebuilt. Returns an opaque position of the which corresponds to the specified node. You can use returned value as an argument to given the document being enumerated and the document of the node are the same. This method works for only nodes, as well as indivisible inline nodes, e.g. or . It doesn't work for , or nodes, and nodes within header/footer. Note that the entity returned for a node is a paragraph break span. Use the appropriate method to ascend to the parent line If you need to navigate to a of text then you can insert bookmark right before it and then navigate to the bookmark instead. If you need to navigate to a node then you can move to a node in this cell and then ascend to a parent entity. The same approach can be used for and nodes. Gets or sets the document this collector instance is attached to. If you need to access page indexes of the document nodes you need to set this property to point to a document instance, before page layout of the document is built. It is best to set this property to null afterwards, otherwise the collector continues to accumulate information from subsequent rebuilds of the document's page layout. Enumerates page layout entities of a document. You can use this class to walk over the page layout model. Available properties are type, geometry, text and page index where entity is rendered, as well as overall structure and relationships. Use combination of and move to the entity which corresponds to a document node. !!! DO NOT USE THIS CLASS INTERNALLY IN AW. CONTACT LAYOUT TEAM FOR YOUR CUSTOM SOLUTION FIRST !!! Initializes new instance of this class. A document whose page layout model to enumerate. If page layout model of the document hasn't been built the enumerator calls to build it. Whenever document is updated and new page layout model is created, a new enumerator must be used to access it. Moves the enumerator to the first page of the document. Moves to the next sibling entity in visual order. When iterating lines of a paragraph broken across pages this method will not move to the next page but rather move to the next entity on the same page. Moves to the next sibling entity in a logical order. When iterating lines of a paragraph broken across pages this method will move to the next line even if it resides on another page. Note that all entities are linked together thus if entity is span repeated calling of this method will iterates complete story of the document. Moves to the previous sibling entity. Moves to the previous sibling entity in a logical order. When iterating lines of a paragraph broken across pages this method will move to the previous line even if it resides on another page. Note that all entities are linked together thus if entity is span repeated calling of this method will iterates complete story of the document. Moves to the first child entity. Moves to the last child entity. Moves to the parent entity. Moves to the parent entity of the specified type. The parent entity type to move to. Use bitwise-OR to specify multiple parent types. This method is useful if you need to find the cell, column or header/footer parent of the entity. Gets the type of the current entity. Returns the bounding rectangle of the current entity relative to the page top left corner (in points). Gets the kind of the current entity. This can be an empty string but never null. This is a more specific type of the current entity, e.g. bookmark span has type and may have either a BOOKMARKSTART or BOOKMARKEND kind. Gets text of the current span entity. Throws for other entity types. Gets the 1-based index of a page which contains the current entity. Gets or sets current position in the page layout model. This property returns an opaque object which corresponds to the current layout entity. Gets document this instance enumerates.

The Aspose.Words.Layout namespace provides classes that allow to access information such as on what page and where on a page particular document elements are positioned, when the document is formatted into pages.

Implements basic cache for instances. This class is thread-safe. Wraps and caches results. Encapsulates code points and glyphs composing a grapheme. Returns width of the cluster. Creates using codepoints from the specified clusters. Returns a deep clone of this instance. Gets codepoints of the cluster. Gets glyphs of the cluster. Text direction. Default value, same as . Left-to-right writing direction. Right-to-left writing direction. Top-to-bottom writing direction. Bottom-to-top writing direction. Features provide information about how glyphs are used in a font to render a script. https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags To minimize the number of glyph alternates, it is sometimes desirable to decompose the default glyph for a character into two or more glyphs. Additionally, it may be preferable to compose default glyphs for two or more characters into a single glyph for better glyph processing. This feature permits such composition/decomposition. https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#ccmp Equivalent OpenType tag: 'ccmp' Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers the ligatures which the designer/manufacturer judges should be used in normal conditions. Equivalent OpenType tag: 'liga' https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#liga Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures, which the script determines as required to be used in normal conditions. This feature is important for some scripts to ensure correct glyph formation. https://docs.microsoft.com/en-us/typography/opentype/spec/features_pt#rlig Equivalent OpenType tag: 'rlig' Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. Unlike other ligature features, 'clig' specifies the context in which the ligature is recommended. This capability is important in some script designs and for swash ligatures. https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#clig Equivalent OpenType tag: 'clig' Replaces a sequence of glyphs with a single glyph which is preferred for typographic purposes. This feature covers those ligatures which may be used for special effect, at the user’s preference. https://docs.microsoft.com/en-us/typography/opentype/spec/features_ae#dlig Equivalent OpenType tag: 'dlig' Some ligatures were in common use in the past, but appear anachronistic today. Some fonts include the historical forms as alternates, so they can be used for a "period" effect. This feature replaces the default (current) forms with the historical alternates. https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj#hlig Equivalent OpenType tag: 'hlig' Adjusts amount of space between glyphs, generally to provide optically consistent spacing between glyphs. Although a well-designed typeface has consistent inter-glyph spacing overall, some glyph combinations require adjustment for improved legibility. Besides standard adjustment in the horizontal direction, this feature can supply size-dependent kerning data via device tables, "cross-stream" kerning in the Y text direction, and adjustment of glyph placement independent of the advance adjustment. Note that this feature may apply to runs of more than two glyphs, and would not be used in monospaced fonts. Also note that this feature does not apply to text set vertically. https://docs.microsoft.com/en-us/typography/opentype/spec/features_ko#kern Equivalent OpenType tag: 'kern' Represents a glyph Initializes new instance of this class. Glyph index. Advance metric of the glyph. Horizontal (x) offset. Vertical (y) offset. Returns a clone of this instance. Index of the glyph (GID) in the physical font. Advance width indicating placement for the subsequent glyph. Horizontal (x) offset relative to glyph position. Mostly used to attach marks (like diacritics) to base characters. Vertical (y) offset relative to glyph position. Mostly used to attach marks (like diacritics) to base characters. Provides methods for text shaping. Returns objects generated from a sequence of text fragments. Length of the returned array is equal to length of . If run at an index has corresponding clusters then result at the same index will have them recorded. A sequence of text fragments A direction of text A script A set of features to consider An interface of a factory for constructing implementations. Returns new instance of a text shaper for the font specified by and . An absolute path to the font file. An index of the font face in the TrueType font collection, or 0 if specified font file is not TrueType font collection. Unicode Character Database property: Script (sc). http://www.unicode.org/reports/tr24/tr24-29.html https://www.unicode.org/iso15924/ http://goo.gl/x9ilM Default script Arabic script Tamil script Cyrillic script Hebrew script