What is DocX?

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

How can I donate to DocX!

DocX is written and maintained by a PhD student --Cathal Coffey-- studying at the National University of Ireland Maynooth. If you have found DocX useful and would like to buy Cathal lunch then you can do so via a paypal donation.

To connect with Cathal on LinkedIn please follow: http://ie.linkedin.com/in/cathalcoffey
For Cathal's personal website follow: http://www.cathalcoffey.ie

Cutting Edge

If you do not wish to wait for the next stable release of DocX.dll, you can build your own copy from the latest source code.

What else do I need?

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

What are the main features of DocX?

1) Insert, Remove or Replace text in a document. 
All standard text formatting is available. Font {Family, Size, Color}, Bold, Italic, Underline, Strikethrough, Script{Sub, Super}, Highlight.
Here’s a cool example of replacing text across many documents in Parallel.

2) Paragraph properties are exposed.
     a) Direction LeftToRight or RightToLeft,
     b) Indentation,
     c) Alignment.

3) DocX also supports
     a) Pictures,
     b) Hyperlinks,
     c) Tables,
     d) Headers & Footers,
     e) Custom Properties.

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 compares the code used to create a HelloWorld document using
1) Office Interop libraries,
2) OOXML SDK,
3) DocX.

How can I learn more?

I have dedicated a blog to DocX. I regularly post new code examples here. The below videos are also excellent tutorials on how to use DocX.

Getting started Paragraphs and text formatting

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.

What do other people think?

image

How can I send feedback!

If you have found DocX useful at work or in a personal project, I would love to hear about it. Equally if you have decided not to use DocX, please send me and email stating why this is so. I will use this feedback to improve DocX in future releases. My email address is coffey.cathal@gmail.com.

Other Projects

Cathal has another open source project sql4csv. sql4csv is a python library that offers an SQL "like" interface for .csv files. Cathal also has 3 android application on GooglePlay.

Happy coding,
Cathal

Last edited Aug 18, 2013 at 1:46 PM by coffeycathal, version 82