Word Object Model / OpenXML

Download Report

Transcript Word Object Model / OpenXML

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 unit
 One for each line break in the document
 Container element

Run <w:r>
 Region of content with a common set of
properties
 All runs must be contained within a paragraph
Docx Structure (Root Elements)

Text <w:t>
 Basic block of text
 Normal 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 OpenXML
 Provides strong bindings for accessing
document parts
 Allows 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 2005
 Develop Office add-ins just like any other
application
 Use WYSIWYG editor to create GUI
 Access the document through the Word object
model
Word Object Model
Word Object Model

InlineShapes
 Collection of references to all images in the
document

Paragraphs
 Directly correspond to OpenXML <w:p> tags

Ranges
 Contiguous area in document
 Can 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?