Skip to content

Fast and easy to use .NET library that creates or modifies Microsoft Word files without installing Word.

License

Notifications You must be signed in to change notification settings

xceedsoftware/DocX

Repository files navigation

What is DocX?

DocX is a .NET library that allows developers to manipulate Word 2007/2010/2013 files, in an easy and intuitive manner. DocX is fast, lightweight and best of all it does not require Microsoft Word or Office to be installed.

NOTE: There is a new Master branch as of Oct. 3, 2017. Please read about the Classic branch if you were using this project before the change.

DocX is the free, open source version of Xceed Words for .NET. Originally written by Cathal Coffey, and maintained by Przemyslaw Klys, it is now maintained by Xceed. Starting at v1.5.0, this free and open source product is provided under the Xceed Community License agreement(for non-commercial use).

Currently, the differences between DocX and Xceed Words for .NET, is that Xceed Words for .NET :

  • can convert a Word document to PDF
  • adds properties to wrap text around Pictures/Tables/Shapes
  • adds Picture cropping
  • adds Shapes (rectangles for now)
  • adds TextBoxes or Shapes containing Text
  • gets Shapes from Paragraphs
  • gets Charts from Paragraphs and can modify their categories/values
  • More properties in Charts configuration like axis Label position and series width
  • is at least two versions ahead of the DocX version
  • has professional technical support included in the subscription
  • can automatically update fields from a document
  • Insert html/rtf text (with tags), or html/rtf document, to a Word document
  • Clone lists or tables
  • Add or modify checkboxes
  • Set transparency in pictures
  • Create formatted hyperlinks based on a referenced hyperlinks
  • Joining 2 documents gives the opportunity to choose the headers/footers of doc1, doc2 or both of them in the resulting document.
  • Automatic hyphenations and configurable hyphenations
  • Digital signatures can be added to documents in the .NET Framework environment
  • Add footnotes and endnotes
  • ListOptions for List level configurations
  • Modify Chart's Series Marker and DataPoint styles
  • Insert a document at a specific point in another document
  • Wrap text around Charts
  • Format Charts Axis' title
  • Replace text with html

What else do I need?

All that you need to install in order to use DocX is the .NET framework 4.0 or .NET5+ and Visual Studio 2010 or later, both of which are free.

What are the main features of DocX?

Edition DocX Xceed Words for .NET
Price Free $599.95
License Xceed Community License Proprietary
Email support YES
Create new Word documents YES YES
Modify Word documents YES YES
Create new PDF documents YES
Convert Word to PDF YES
Supports .DOCX from Word 2007 and up YES YES
Modify multiple documents in parallel for better performance YES YES
Apply a template to a Word document YES YES
Join documents, recreate portions from one to another YES YES
Supports document protection with or without password YES YES
Set document margins and page size YES YES
Set line spacing, indentation, text direction, text alignment YES YES
Wrap text around pictures YES
Pictures with cropping YES
Manage fonts and font sizes YES YES
Set text color, bold, underline, italic, strikethrough, highlighting YES YES
Set page numbering YES YES
Create sections YES YES
Available on .net for .net 5+ applications YES YES
Update document fields (ex: a table of contents) by calling only one method YES
Wrap text around tables YES
Wrap text around shapes YES
Create shapes (rectangles for now) YES
Create textboxes or shapes containing text YES
Get shapes from paragraphs YES
Get charts from paragraphs and modify their categories/values YES
Update document fields with 1 method call YES
Insert html/rtf text (with tags), or html/rtf document, to a Word document YES
Clone lists or tables YES
Add or modify checkboxes YES
Set transparency in pictures YES
Create formatted hyperlinks based on a referenced hyperlinks YES
Joining 2 documents gives the opportunity to choose which headers/footers to use YES
More properties to configure Charts YES
Automatic Hyphenations and configurable hyphenations YES
Digital signatures in .NET Framework YES
Add footnotes and endnotes YES
ListOptions for List level configurations YES
Modify Chart's Series Marker and DataPoint styles YES
Insert a document at a specific point in another document YES
Wrap text around Charts YES
Format Charts Axis' title YES
Replace text with html YES
Get release ahead YES

Supported Word document elements

  • Add headers or footers which can be the same on all pages, or unique for the first page, or unique for odd/even pages. Can contain images, hyperlinks and more.
  • Insert/Modify paragraphs.
  • Insert/Modify numbered or bulleted lists.
  • Insert/Modify images. Flip, rotate, copy, modify, resize.
  • Insert/Modify tables. Insert/Remove rows, columns, change direction, column width, row height, borders, merge/delete cells.
  • Insert/Modify formatted equations or formulas.
  • Insert/Modify bookmarks.
  • Insert/Modify hyperlinks.
  • Insert/Modify horizontal lines.
  • Insert/Modify charts (bar, line, pie, 3D chart). Set colors, titles, legend, etc.
  • Find, remove or replace text. Supports case sensitivity and regular expressions.
  • Insert/Modify core or custom properties, such as author, address, subject, title, etc.
  • Insert a Table Of Contents. Set title, change formatting.

Why would I use DocX?

DocX makes creating and manipulating documents a simple task. It does not use COM libraries nor does it require Microsoft Office to be installed.

The following blog post from Cathal Coffey compares the code used to create a HelloWorld document using:

  1. Office Interop libraries,
  2. OOXML SDK,
  3. DocX

Advanced Examples

  1. Step by step guide to create an invoice for a company. http://cathalscorner.blogspot.com/2009/08/docx-v1007-released.html
  2. Replace text across many documents in Parallel. http://cathalscorner.blogspot.com/2010/12/replace-text-across-many-documents-in.html
  3. Programmatically manipulate an Image imbedded inside a document. http://cathalscorner.blogspot.com/2010/12/programmatically-manipulate-image.html
  4. Converting DocX into (.doc, .pdf, .html) http://cathalscorner.blogspot.com/2009/10/converting-docx-into-doc-pdf-html.html

Do you have an interesting or informative example that you would like to share? If you do, please email me.

License Information

DocX is provided under the Xceed Software, Inc. Community License.

More information can be found in the License page.

A commercial license can be purchased at Xceed.

Release history


NuGet Version