DocumentBuilder Developer Center

Return to the
Open-Xml-PowerTools Developer Center
DocumentBuilder is a module in Open-Xml-PowerTools v4.0 that enables developers to shred (split apart) and combine Open XML documents in a variety of ways.

DocumentBuilder was first released in June, 2008 – it has been around for quite a while. It has gone through several enhancement cycles, so some of the content here reflects that. For the most recent information about downloading and building Open-Xml-PowerTools, please see the Open XML Installation Center. Even through some of the following screen-casts are somewhat out of date with regards to installation, they still contain valuable information that is important for using DocumentBuilder.”


1 7-Minute screen-cast that introduces DocumentBuilder Watch this first.
2 New Version of DocumentBuilder Available in PowerTools Introduces DocumentBuilder 2.0
3 Introduction to DocumentBuilder – 1 of 3 Demonstrates downloading and running DocumentBuilder. Walks through one scenario around interrelated markup, and shows how DocumentBuilder solves the issues around interrelated markup associated with that scenario.
4 Introduction to DocumentBuilder 2.0 – Screen-Cast 2 of 3 Builds on the previous screen-cast – in this screen-cast, I paste an image into a comment, walk through the markup, and show how DocumentBuilder deals with this situation of interrelated markup.
5 Introduction to DocumentBuilder 2.0 – Screen-Cast 3 of 3 In this screen-cast, I walk through the code, show how a major portion of DocumentBuilder 2.0 is data-driven, which makes it more robust. In addition, I explain some of the finer points about how DocumentBuilder 2.0 works.
6 Advanced DocumentBuilder – import a document into a cell in a table, into a text box, or into a content control. In this screen-cast, I show a new way to develop using DocumentBuilder 2.0. You can use DocumentBuilder 2.0 to import a WordprocessingML document into any location that can contain block-level content (cells, text boxes, content controls).
7 Fine-grained control when importing content using DocumentBuilder. Here, I show how you can import little bits of content from one document into a very specific place in another document. The specific scenario that I work through is to import the contents of a cell in a table in one document into a cell in a table in another document.
8 Using DocumentBuilder with Numbered Documents DocumentBuilder enables you to merge multiple Open XML WordprocessingML documents into a single document. Sometimes you want to use DocumentBuilder to merge documents that contain numbered lists. By default, DocumentBuilder will bring each numbered list into the newly merged document as its own numbered list, but if you want content from multiple documents to be part of the same list after merging, then you need to do some extra work. This video shows how.
9 Using DocumentBuilder to combine Headers/Footers from one document with content from another. Shows a bit of code to use DocumentBuilder to merge sections (with headers / footers) from one document with content from another.