Archive for August, 2011

Fourth and Final Screen-Cast in Series on Adding/Updating the TOC in OpenXML WordprocessingML Documents

Whew!  I finished the fourth and final screen-cast.  In this screen-cast, I show how to use Word Automation Services to repaginate a document and update the table-of-contents.

Shows how to use Word Automation Services to populate the TOC

You can download the code that I present in this video from OpenXMLDeveloper.org.

Here is the complete list of screen-casts in this series.

Link

Summary

Screen-cast #1

Explains the markup of tables-of-contents. TOCs use field markup.
See Deep dive into OpenXML Fields for more info.

Screen-cast #2

Presents some sample code that shows how to insert TOC markup into a document.

Screen-cast #3

Shows how to use Word Automation to update the TOC.

Screen-cast #4

Shows how to use Word Automation Services to update the TOC.

Screen-cast #5

Shows how to use an AutoOpen macro to update the TOC whenever any document that contains a TOC is opened.

Comments

Links – August 17 2011

I’ve been posting some new content over at OpenXMLDeveloper.org, and somehow didn’t manage to post the info here.

I’ve posted the third (out of four) screen-casts around inserting / updating tables-of-contents.

Exploring Tables-of-Contents in Open XML WordprocessingML Documents (Part 3)

My goal is to get the fourth posted before the end of the week.

Update: Here is the complete list of screen-casts in this series.

Link Summary
Screen-cast #1 Explains the markup of tables-of-contents. TOCs use field markup. See Deep dive into OpenXML Fields for more info.
Screen-cast #2 Presents some sample code that shows how to insert TOC markup into a document.
Screen-cast #3 Shows how to use Word Automation to update the TOC.
Screen-cast #4 Shows how to use Word Automation Services to update the TOC.

The following screen-cast was in response to a specific query in the forums on OpenXMLDeveloper.org.  Even if you don’t care about speaker notes in an Open XML PresentationML document, you might be interested in watching this.  It shows my approach to researching Open XML markup.

Screen-cast: Remove Speaker Notes from an Open XML Presentation

The following screen-cast re-affirmed the truism: it takes more time to make a shorter screen-cast.  The following is 6:40 long.

New Screen-Cast: Short and Sweet Intro to DocumentBuilder 2.0

Comments (2)

Notes about the Microsoft Public License (Ms-PL)

I’ve had a few questions lately about how the Microsoft Public License works.

The text of the Ms-PL: http://www.microsoft.com/opensource/licenses.mspx

You can find a page on Microsoft.com that explains the Ms-PL in straightforward terms: http://www.microsoft.com/resources/sharedsource/communitysourcelicensing.mspx

Here is a StackOverflow.com question/answer page regarding the Ms-PL: http://stackoverflow.com/questions/1424307/how-does-ms-pl-license-work

Comments (3)

Second Screen-Cast in Series on Adding / Updating Tables of Contents in Open XML WordprocessingML Documents

I’ve just published the second screen-cast in this series on updating the TOC of a WordprocessingML document.  In the first screen-cast, I explored the markup around TOCs.  In this second screen-cast, I discuss the markup a bit more, and then introduce some code that makes it easy to add a TOC to a document.  This code will become part of the PowerTools for Open XML project.

As part of the definition of each TOC, you specify a set of switches that Word uses as instructions on how to construct the TOC.  This screen-cast discusses the TOC switches, and shows how to find out more about them from the text of the Open XML standard.

You can find the code that I discuss in this video on OpenXMLDeveloper.org.

Discusses WordprocessingML TOC markup, and introduces some PowerTools for Open XML code that makes it easy to add a TOC to a document.

Now, back to editing the third screen-cast in this series.  Looks as though there are going to be four.

Here is the complete list of screen-casts in this series.

Link

Summary

Screen-cast #1

Explains the markup of tables-of-contents. TOCs use field markup.
See Deep dive into OpenXML Fields for more info.

Screen-cast #2

Presents some sample code that shows how to insert TOC markup into a document.

Screen-cast #3

Shows how to use Word Automation to update the TOC.

Screen-cast #4

Shows how to use Word Automation Services to update the TOC.

Screen-cast #5

Shows how to use an AutoOpen macro to update the TOC whenever any document that contains a TOC is opened.

-Eric

Comments (2)

New Screen-Cast Series on Tables of Contents in Open XML WordprocessingML Documents

One issue that has been sorely lacking in content is that of adding / updating TOCs in WordprocessingML documents.  I’m starting a series of screen-casts around this issue, and I’ve just posted the first in the series.  The first video walks through the markup for a table of contents.  It explains how the TOC can (but is not required to) be in a content control, and why you would want to put it in a content control.  It discusses how fields in WordprocessingML are used to represent a TOC.  The video dissects field markup, and explains how fields can be nested (and always are nested in the case of a TOC).

Walks through the markup for tables in Open XML WordprocessingML

In the video, I reference three links.  Here are those links:

Open XML Package Editor Power Tool for Visual Studio 2010

Open XML Markup Simplifier Application

Deep dive into fields in WordprocessingML

The next video will be an introduction into some code that I’ve written for PowerTools for Open XML, which enables you to more easily insert a TOC into a document.

Update: Here is the complete list of screen-casts in this series.

Link

Summary

Screen-cast #1

Explains the markup of tables-of-contents. TOCs use field markup.
See Deep dive into OpenXML Fields for more info.

Screen-cast #2

Presents some sample code that shows how to insert TOC markup into a document.

Screen-cast #3

Shows how to use Word Automation to update the TOC.

Screen-cast #4

Shows how to use Word Automation Services to update the TOC.

Screen-cast #5

Shows how to use an AutoOpen macro to update the TOC whenever any document that contains a TOC is opened.

Comments

Introducing a new class for PowerTools for Open XML: TextReplacer

Recently I wrote some code that implemented search-and-replace for Open XML WordprocessingML documents.  I wrote that code for an Open XML developer who needed to implement that functionality using XML DOM, although with a different language than C#.  Because XML DOM is standardized, translating the code to another language and another implementation of XML DOM is relatively straightforward.

I want to introduce search-and-replace functionality in a CMDLET in PowerTools for Open XML, but I have been moving PowerTools code away from XmlDocument, so I rewrote the search-and-replace code using LINQ to XML, using a functional transform.  It was an interesting and fun project.  The video below introduces the TextReplacer class, and compares it to the code that I presented that uses XmlDocument.  It is an interesting comparison of imperative code (using XmlDocument) and functional code (using LINQ to XML).

You can download the TextReplacer class from this blog post (in an attachment at the bottom).

Introduces TextReplacer, which is LINQ to XML code that replaces text in WordprocessingML documents.

Comments (7)