- Timestamp:
- 10/22/08 13:05:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java
r495 r557 35 35 36 36 import org.apache.log4j.Logger; 37 import org.docx4j.convert.out.xmlPackage.XmlPackage; 37 38 import org.docx4j.fonts.Substituter; 38 39 import org.docx4j.fonts.FontUtils; … … 172 173 } 173 174 174 175 176 177 /* Output in pck:package/pck:part format, as emitted by Word 2007.178 *179 */180 public org.docx4j.wml.Package exportPkgXml() {181 // so, put the 2 parts together into a single document182 // The JAXB object org.docx4j.wml.Package is183 // custom built for this purpose.184 185 // TODO - this method currently only puts the main document186 // part and the styles part into the pkg.187 // Extend it so that it can optionally do the others as well.188 // Likewise, the converse.189 190 // Create a org.docx4j.wml.Package object191 org.docx4j.wml.ObjectFactory factory = new org.docx4j.wml.ObjectFactory();192 org.docx4j.wml.Package pkg = factory.createPackage();193 194 // Set its parts195 196 // .. the main document part197 org.docx4j.wml.Package.Part pkgPartDocument = factory.createPackagePart();198 199 MainDocumentPart documentPart = getMainDocumentPart();200 201 if (documentPart==null) {202 log.warn("Main document part missing!");203 } else {204 205 pkgPartDocument.setName(documentPart.getPartName().getName());206 pkgPartDocument.setContentType(documentPart.getContentType() );207 208 org.docx4j.wml.Package.Part.XmlData XmlDataDoc = factory.createPackagePartXmlData();209 210 org.docx4j.wml.Document wmlDocumentEl = (org.docx4j.wml.Document)documentPart.getJaxbElement();211 212 XmlDataDoc.setDocument(wmlDocumentEl);213 pkgPartDocument.setXmlData(XmlDataDoc);214 pkg.getPart().add(pkgPartDocument);215 }216 217 // .. the style part218 org.docx4j.wml.Package.Part pkgPartStyles = factory.createPackagePart();219 220 org.docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart stylesPart = documentPart.getStyleDefinitionsPart();221 222 if (stylesPart==null) {223 log.warn("Style definitions part missing!");224 } else {225 226 pkgPartStyles.setName(stylesPart.getPartName().getName());227 pkgPartStyles.setContentType(stylesPart.getContentType() );228 229 org.docx4j.wml.Package.Part.XmlData XmlDataStyles = factory.createPackagePartXmlData();230 231 org.docx4j.wml.Styles styles = (org.docx4j.wml.Styles)stylesPart.getJaxbElement();232 233 XmlDataStyles.setStyles(styles);234 pkgPartStyles.setXmlData(XmlDataStyles);235 pkg.getPart().add(pkgPartStyles);236 }237 238 return pkg;239 240 }241 242 175 243 176 /** … … 254 187 255 188 // Prepare in the input document 256 org.docx4j.wml.Package pkg = exportPkgXml(); 257 JAXBContext jc = Context.jc; 189 190 XmlPackage worker = new XmlPackage(this); 191 org.docx4j.xmlPackage.Package pkg = worker.get(); 192 193 JAXBContext jc = Context.jcXmlPackage; 258 194 Marshaller marshaller=jc.createMarshaller(); 259 195 org.w3c.dom.Document doc = org.docx4j.XmlUtils.neww3cDomDocument(); … … 343 279 * 344 280 */ 345 org.docx4j.wml.Package pkg = exportPkgXml(); 346 347 348 // Now marshall it 349 JAXBContext jc = Context.jc; 281 XmlPackage worker = new XmlPackage(this); 282 org.docx4j.xmlPackage.Package pkg = worker.get(); 283 284 JAXBContext jc = Context.jcXmlPackage; 350 285 Marshaller marshaller=jc.createMarshaller(); 351 286 org.w3c.dom.Document doc = org.docx4j.XmlUtils.neww3cDomDocument(); … … 434 369 * our main document and style definition parts. 435 370 * 436 * For now, I've just edited it a little to accept our parts wrapped 437 * in a <w:wordDocument> element. Since that's a completely 438 * arbitrary format, it may be better in due course to process 439 * pck:package/pck:part 371 * it processes pck:package/pck:part 440 372 * 441 373 */
Note: See TracChangeset
for help on using the changeset viewer.
