Changeset 1103
- Timestamp:
- 03/21/10 02:00:47 (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/samples/StripParts.java
r1028 r1103 22 22 23 23 24 import java.io.FileInputStream;25 24 import java.net.URI; 26 25 import java.util.ArrayList; 27 26 import java.util.List; 28 27 29 import javax.xml.bind.JAXBContext;30 import javax.xml.bind.JAXBElement;31 import javax.xml.bind.JAXBException;32 import javax.xml.bind.Unmarshaller;33 34 28 import org.apache.log4j.Logger; 35 import org.docx4j.XmlUtils;36 import org.docx4j.convert.out.flatOpcXml.FlatOpcXmlCreator;37 import org.docx4j.jaxb.Context;38 29 import org.docx4j.openpackaging.URIHelper; 39 30 import org.docx4j.openpackaging.exceptions.Docx4JException; 40 import org.docx4j.openpackaging.io.LoadFromZipFile;41 import org.docx4j.openpackaging.io.SaveToZipFile;42 31 import org.docx4j.openpackaging.packages.WordprocessingMLPackage; 43 32 import org.docx4j.openpackaging.parts.Part; 44 33 import org.docx4j.openpackaging.parts.PartName; 45 import org.docx4j.openpackaging.parts.WordprocessingML.DocumentSettingsPart;46 import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;47 import org.docx4j.openpackaging.parts.relationships.Namespaces;48 34 import org.docx4j.openpackaging.parts.relationships.RelationshipsPart; 49 35 import org.docx4j.relationships.Relationship; 50 import org.docx4j.wml.Body;51 36 52 37 … … 59 44 */ 60 45 public static void main(String[] args) throws Exception { 46 47 // Do we want to save output? 48 boolean save = true; 49 boolean flatOpcXmlOutput = true; 61 50 62 boolean save = false; 63 64 String inputfilepath = System.getProperty("user.dir") 65 + "/sample-docs/test-docs/header-footer/header_first-and-odd-even.xml"; 51 String dir = System.getProperty("user.dir") + "/foo/"; 52 53 String file = "bar"; 54 String inputfilepath = dir + file + ".docx"; 55 56 // If so, whereto? 57 String outputfilepath = null; 58 if (save) { 59 if (flatOpcXmlOutput) { 60 outputfilepath = dir + file + "_OUT.xml"; 61 } else { 62 outputfilepath = dir + file + "_OUT.docx"; 63 } 64 } 66 65 67 66 // Open a document from the file system … … 78 77 79 78 if (save) { 80 wordMLPackage.save(new java.io.File(inputfilepath)); 79 wordMLPackage.save(new java.io.File(outputfilepath)); 80 System.out.println("Saved stripped to " + outputfilepath); 81 } else { 81 82 System.out.println("Stripped parts from " + inputfilepath); 82 83 } … … 91 92 StringBuilder sb, String indent) 92 93 throws Docx4JException { 94 95 boolean stripPropertiesParts = true; 96 boolean keepStyles = false; 97 boolean defaultToDelete = false; 93 98 94 99 List<Relationship> deletions = new ArrayList<Relationship>(); … … 117 122 // Part p = rp.getPart(r); 118 123 124 // TEMP 125 // if () 126 127 if (part!=null) { 128 printInfo(part, sb, indent); 129 } 130 119 131 if (part==null) { 120 132 sb.append("Part " + resolvedPartUri + " not found! \n"); 133 } else if ( part instanceof org.docx4j.openpackaging.parts.ThemePart 134 || part instanceof org.docx4j.openpackaging.parts.WordprocessingML.NumberingDefinitionsPart 135 || part instanceof org.docx4j.openpackaging.parts.WordprocessingML.FontTablePart) { 136 deletions.add(r ); 137 sb.append(".. DELETED" ); 138 } else if (part instanceof org.docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart) { 139 140 if (!keepStyles) { 141 deletions.add(r ); 142 sb.append(".. DELETED" ); 143 } else { 144 sb.append(".. KEEPING" ); 145 } 146 121 147 } else { 122 printInfo(part, sb, indent); 123 if ( part instanceof org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart 148 if (stripPropertiesParts 149 && ( part instanceof org.docx4j.openpackaging.parts.DocPropsExtendedPart 150 || part instanceof org.docx4j.openpackaging.parts.DocPropsCorePart 151 || part instanceof org.docx4j.openpackaging.parts.DocPropsCustomPart 152 || part instanceof org.docx4j.openpackaging.parts.WordprocessingML.WebSettingsPart 153 || part instanceof org.docx4j.openpackaging.parts.WordprocessingML.DocumentSettingsPart)) { 154 155 deletions.add(r ); 156 sb.append(".. DELETED" ); 157 158 } else if ( part instanceof org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart 124 159 || part instanceof org.docx4j.openpackaging.parts.WordprocessingML.StyleDefinitionsPart 125 160 || part instanceof org.docx4j.openpackaging.parts.WordprocessingML.HeaderPart) { … … 130 165 traverseRelationships(wordMLPackage, part.getRelationshipsPart(), sb, indent + " "); 131 166 } 132 } else { 167 } 168 else if (defaultToDelete) { 133 169 // Delete it 134 170 deletions.add(r );
Note: See TracChangeset
for help on using the changeset viewer.
