package org.docx4j.samples; import org.docx4j.XmlUtils; import org.docx4j.openpackaging.packages.WordprocessingMLPackage; import org.docx4j.openpackaging.parts.WordprocessingML.AltChunkType; import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart; /** * Create a docx containing an XHTML AltChunk, * and then convert that to normal docx content. * @author jharrop * */ public class AltChunkXHTMLRoundTrip { /** * @param args */ public static void main(String[] args) throws Exception { WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(); MainDocumentPart mdp = wordMLPackage.getMainDocumentPart(); mdp.addParagraphOfText("Paragraph 1"); // Add the XHTML altChunk String xhtml = "<html><head><title>Import me</title></head><body><p>Hello World!</p></body></html>"; mdp.addAltChunk(AltChunkType.Xhtml, xhtml.getBytes()); mdp.addParagraphOfText("Paragraph 3"); // Round trip WordprocessingMLPackage pkgOut = mdp.convertAltChunks(); // Display result System.out.println( XmlUtils.marshaltoString(pkgOut.getMainDocumentPart().getJaxbElement(), true, true)); } }