Upload
sophia-hill
View
214
Download
0
Embed Size (px)
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?