Changeset 65 for trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java
- Timestamp:
- 12/22/07 01:30:10 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java
r45 r65 20 20 package org.docx4j.openpackaging.packages; 21 21 22 import java.io.InputStream; 23 import java.util.Iterator; 24 25 import org.docx4j.Namespaces; 22 26 23 import org.docx4j.openpackaging.parts.DocPropsCorePart; 27 24 import org.docx4j.openpackaging.parts.DocPropsExtendedPart; 28 25 import org.docx4j.openpackaging.parts.Part; 26 import org.docx4j.openpackaging.parts.PartName; 29 27 import org.docx4j.openpackaging.parts.WordprocessingML.GlossaryDocumentPart; 30 28 import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart; 31 import org.dom4j.Document; 32 import org.dom4j.io.OutputFormat; 33 import org.dom4j.io.SAXReader; 34 import org.dom4j.io.XMLWriter; 35 36 import org.docx4j.openpackaging.exceptions.InvalidOperationException; 37 38 39 //import org.openxml4j.opc.Package; 40 //import org.openxml4j.opc.PackageAccess; 41 //import org.openxml4j.opc.PackagePart; 42 //import org.openxml4j.opc.PackageRelationship; 43 //import org.openxml4j.opc.PackageRelationshipCollection; 44 //import org.openxml4j.opc.PackageRelationshipTypes; 45 // 46 //import org.openxml4j.opc.PackageRelationshipCollection; 47 // 48 //import org.openxml4j.opc.PackagePartName; 49 // 50 //import au.com.xn.Packaging.*; 29 import org.docx4j.openpackaging.parts.relationships.Namespaces; 30 import org.docx4j.openpackaging.parts.relationships.RelationshipsPart; 31 32 import org.docx4j.openpackaging.contenttype.ContentTypeManager; 33 import org.docx4j.openpackaging.contenttype.ContentTypeManagerImpl; 34 import org.docx4j.openpackaging.exceptions.InvalidFormatException; 35 36 51 37 52 38 … … 60 46 // And a word document is exactly a WordProcessingML package 61 47 // Which has a Main Document Part, and optionally, a Glossary Document Part 48 49 /* So its a Word doc if: 50 * 1. _rels/.rels tells you where to find an office document 51 * 2. [Content_Types].xml tells you that office document is 52 * of content type application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml 53 54 * A minimal docx has: 55 * 56 * [Content_Types].xml containing: 57 * 1. <Default Extension="rels" ... 58 * 2. <Override PartName="/word/document.xml"... 59 * 60 * _rels/.rels with a target for word/document.xml 61 * 62 * word/document.xml 63 */ 64 62 65 63 66 // 20070812 - nb although io.LoadFromJCR will … … 205 208 } 206 209 210 public static WordprocessingMLPackage createTestPackage() throws InvalidFormatException { 211 212 213 // Create a package 214 WordprocessingMLPackage p = new WordprocessingMLPackage(); 215 216 // Add a ContentTypeManager to it 217 ContentTypeManager ctm = new ContentTypeManagerImpl(); 218 p.setContentTypeManager(ctm); 219 220 221 // Create main document part content 222 org.docx4j.jaxb.document.ObjectFactory factory = new org.docx4j.jaxb.document.ObjectFactory(); 223 224 org.docx4j.jaxb.document.Text t = factory.createText(); 225 t.setValue("Hello world, from docx4j"); 226 227 org.docx4j.jaxb.document.R run = factory.createR(); 228 run.getRunContent().add(t); 229 230 org.docx4j.jaxb.document.P para = factory.createP(); 231 para.getParagraphContent().add(run); 232 233 org.docx4j.jaxb.document.Body body = factory.createBody(); 234 body.getBlockLevelElements().add(para); 235 236 org.docx4j.jaxb.document.Document wmlDocumentEl = factory.createDocument(); 237 wmlDocumentEl.setBody(body); 238 239 240 // Create main document part 241 Part corePart = new org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart(new PartName("/word/document.xml")); 242 243 // Put the content in the part 244 ((org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart)corePart).setDocumentObj(wmlDocumentEl); 245 246 corePart.setContentType(new org.docx4j.openpackaging.contenttype.ContentType( org.docx4j.openpackaging.contenttype.ContentTypes.WORDPROCESSINGML_DOCUMENT)); 247 corePart.setRelationshipType(Namespaces.DOCUMENT); 248 249 // Make getMainDocumentPart() work 250 p.setPartShortcut(corePart, corePart.getRelationshipType()); 251 252 // Create the PackageRelationships part 253 RelationshipsPart rp = new RelationshipsPart( new PartName("/_rels/.rels"), p ); 254 255 // Make sure content manager knows how to handle .rels 256 ctm.addDefaultContentType("rels", org.docx4j.openpackaging.contenttype.ContentTypes.RELATIONSHIPS_PART); 257 258 // Add it to the package 259 p.setRelationships(rp); 260 261 // Add the main document part to the package relationships 262 rp.addPart(corePart, p.getContentTypeManager()); 263 264 // Return the new package 265 return p; 266 267 268 } 269 270 207 271 }
Note: See TracChangeset
for help on using the changeset viewer.
