GrapeCity Documents for Word (GcWord) is a cross-platform library that allows to create, analyze, and modify Office Word documents without dependencies on MS Office.
It exposes a robust and convenient object model (based on Open XML SDK) that provides access to document content and properties such as page settings, headers and footers, and so on.
The GcWord object model was designed to make working with Office Word documents in code easier and more convenient.
For example, GcWord's notion of ranges allows to create accessor objects that stay with the designated portions of content even while the document is being modified.
In addition, GcWord provides a platform-independent layout engine that allows to render and export Word documents to PDF (GrapeCity.Documents.Layout).
The online Documents for Word sample browser is available at

There is a newer version of this package available.
See the version list below for details.
Install-Package GrapeCity.Documents.Word -Version
dotnet add package GrapeCity.Documents.Word --version
<PackageReference Include="GrapeCity.Documents.Word" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GrapeCity.Documents.Word --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

# Changes from version

## Breakikng Changes
- The type of Document property changed from GcWordDocument to DocumentBase on the following classes: ContentObject, ContentRange, RangeBase, Style, StyleCollection, ListTemplateCollection.
- The ImageData(GcWordDocument document, bool isPictureBullet) ctor changed to ImageData(DocumentBase document, bool isPictureBullet).
- Theme colors now cannot be modified directly via GcWordDocument.Theme. Use Settings to modify theme colors instead.
- Removed Theme.ColorScheme[ThemeColorId] indexer, use the new ThemeColor Settings.GetThemeColor(ThemeColorId) method instead.
- Removed ColorScheme.RemapColor(ThemeColorId, ThemeColorSchemeId) method, use the new Settings.RemapColor(ThemeColorId, ThemeColorSchemeId) method instead.
- The Section class is no longer derived from ContentObject (sections in MS Word OM are actually section type breaks, hence this and related changes).
- The SectionCollection class is now derived from ContentCollection (was derived from ContentObjectCollection).
- Removed Section.Guid and Section.ParentContent properties.
- Removed SectionCollection.Add(), SectionCollection.Insert() and Section.Split() methods (use the new Paragraph.AddSectionBreak() method instead).

## Fixed
- Incorrect saving of background color shading in some cases could cause MS Word to show the message "not enough memory to update the display" when loading the saved document. (DOC-1248)
- Wrong exception message was shown when applying a wrong style type to a content object.

## Changed
- Method Range.CompareLocationWith(RangeBase) now accepts RangeBase as argument (was Range).

## Added
- Added Marker.StartSection and Marker.EndSection properties, get the section that starts/ends in this marker.
- Added Paragraph.AddSectionBreak(SectionStart) method: breaks the parent section right after this paragraph.
- DocumentBase class: base class for GcWordDocument and GlossaryDocument classes.
- GlossaryDocument class: document storage which stores definition and content that is carried with the document for future insertion and/or use, but is not visible within the contents of the main document story.
- FormattedMark class: specifies the set of properties applied to the the special content mark.
- BuildingBlockCollection class: represents a collection of building blocks.
- BuildingBlock class: represents a building block in a document. A building block is pre-built content, similar to autotext, that may contain text, images, and formatting.
- Category class: Specifies the categorization for a building block.
- CustomXmlPart class: represents a custom XML data storage in the document.
- CustomXmlPartCollection class: represents a collection of CustomXmlPart objects in the document.
- BuildingBlockGallery enum: specifies a building block gallery.
- BuildingBlockType enum: specifies the type of a building block.
- BuildingBlockInsertOptions enum: specifies how a building block is inserted into a document.
- GcWordDocument.GlossaryDocument property: gets the glossary document.
- CellCollection.Insert(string, InsertLocation) method: inserts a cell into this collection.
- RowCollection.Insert(string[], InsertLocation) method: inserts a row into this collection.
- BodyType.BuildingBlock property: gets the body of a building block.
- Settings.AttachedXmlSchemas property: gets the list of custom XML schemas whose target namespace should be associated with this document when it is loaded.
- GcWordDocument.CustomXmlParts property: gets the collection of CustomXmlPart objects.
- ContentControlType enum: specifies the type of a content control.
- ContentControlLevel enum: specifies the layout level of a content control.
- ContentControlAppearance enum: specifies the appearance of a content control.
- CalendarType enum: specifies the calendar type.
- DateStorageFormat enum: specifies the date translation which shall be applied to a date content control.
- WebExtensionRelationship enum: specifies a relationship between a content control and an Office Web Extension.
- ContentControl class: represents a content control.
- ContentControlCollection class: represents a collection of ContentControl items.
- ControlContent: provides access to the content of a ContentControl.
- ContentControlEndMark class: represents the set of properties applied to the mark present to delimit the end of the control contents.
- CheckBoxSymbol class: specifies a symbol to be used for a checkbox state.
- DropDownItem class: specifies a single list item within the content control.
- DropDownItemCollection class: represents a list of DropDownItem objects.
- XmlMapping class: specifies the information which shall be used to establish a mapping between a content control and an XML node stored within a Custom XML Data part in the document.
- RangeBase.ContentControls property: gets the collection of content controls included in this range.
- Range.ParentContentControl property: gets the parent content control where the range content is stored.
- ImageData.ContentType property: the image content type.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on GrapeCity.Documents.Word:

Package Downloads
This is a cross-platform library providing document layout services to GrapeCity.Documents.Word (GcWord). Adding a reference to this library to a project that uses GcWord will provide GcWordDocument.SaveAsPdf() extension methods, which will allow to export Word documents to PDF. This library does not depend on MS Office or any third-party libraries, and works on all platforms that support .NET Standard 2.0. The online Documents for Word sample browser that uses GrapeCity.Documents.Layout to generate PDFs from Word documents is available at

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated 0 8/11/2020 111 7/20/2020 81 7/3/2020 130 6/18/2020 125 6/2/2020 123 5/7/2020 110 4/22/2020 347 4/9/2020 170 3/5/2020 585 1/13/2020 224 1/3/2020 206 12/8/2019 761 11/14/2019 180 10/24/2019 114 2/4/2020 103 11/7/2019 108 11/6/2019 198 10/12/2019 409 9/20/2019 238 8/21/2019 184 8/5/2019 325 7/11/2019 1,162 6/9/2019 571 4/24/2019 255 3/25/2019 273 3/12/2019 204 3/1/2019 324 1/25/2019 295 12/18/2018 239 12/5/2018 244 11/21/2018 228 11/13/2018 267 10/24/2018 292 9/28/2018
Show less