OpenXML: What is it? XML-based file format which describes documents, presentations, spreadsheets,...

Preview:

Citation preview

Word Object Model / OpenXML

Brett Clouser

OpenXML: What is it? XML-based file format which describes

documents, presentations, spreadsheets, etc.

Replacement for binary file formats used in previous versions of Office

Why use OpenXML? Readable – plaintext representation Smaller - compressed as a ZIP archive Straightforward - images are

respresented within <pic> tags All the benefits of regular XML!

Docx Structure (Containers) Paragraph <w:p>

Most basic unitOne for each line break in the documentContainer element

Run <w:r>Region of content with a common set of

propertiesAll runs must be contained within a paragraph

Docx Structure (Root Elements)

Text <w:t>Basic block of textNormal formatting can be applied through

formatting tags (i.e. <w:b> for bold)Must be contained within a run

Images <w:pic>Pictures, Clipart, Smartart, Shapes, charts, etc.Additional transformations can be applied to

the base image (rotation, reflection, etc.)

Docx Structure (example)

This is bold text. <w:p><w:r>

<w:t>This is </w:t></w:r><w:r>

<w:rPr><w:b /></w:pr><w:t>bold </w:t>

</w:r><w:r>

<w:t>text.</w:t></w:r>

</w:p>

Dissecting a Word 2007 Document

Demo

Working with OpenXML documents

Microsoft SDK for OpenXMLProvides strong bindings for accessing

document partsAllows developer to create or change

documents without having Word open Word Object Model

Coming up next…

Office Plugins Visual Studio Tools for Office (VSTO)

Add-on for Visual Studio 2005Develop Office add-ins just like any other

applicationUse WYSIWYG editor to create GUIAccess the document through the Word object

model

Word Object Model

Word Object Model InlineShapes

Collection of references to all images in the document

ParagraphsDirectly correspond to OpenXML <w:p> tags

RangesContiguous area in documentCan access actual text of document through

Text property

Creating a plugin demo Visual Studio Tools for Office Demo

How we’re using it…

OpenXML SDK to parse the document/presentation for accessibility errors

VSTO SE to create an addin that checks accessibility

Word Object Model to highlight regions of text and manipulate the document

Conclusions Any questions?

Recommended