package org.docx4j.samples;
import org.docx4j.Docx4J;
import org.docx4j.anon.Anonymize;
import org.docx4j.anon.AnonymizeResult;
import org.docx4j.openpackaging.exceptions.Docx4JException;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.Part;
public class AnonSingle {
public static void main(String[] args) throws Docx4JException {
String inputfilepath = System.getProperty("user.dir") + "/sample-docs/word/sample-docxv2.docx";
String outputfilepath = System.getProperty("user.dir")
+ "/OUT_Anon.docx";
WordprocessingMLPackage pkg = Docx4J.load(new java.io.File(
inputfilepath));
Anonymize anon = new Anonymize(pkg);
AnonymizeResult result = anon.go();
Docx4J.save(pkg, new java.io.File(outputfilepath));
// Report
System.out.println("\n\n REPORT for " + inputfilepath + "\n\n");
if (result.isOK()) {
System.out.println("document successfully anonymised.");
} else {
System.out.println("document partially anonymised; please check " + outputfilepath);
if (result.getUnsafeParts().size()>0) {
System.out.println("The following parts may leak info:");
for(Part p : result.getUnsafeParts()) {
System.out.println(p.getPartName().getName() + ", of type " + p.getClass().getName() );
}
}
// unsafe objects
System.out.println(result.reportUnsafeObjects());
}
System.out.println("\n\n .. end REPORT for " + inputfilepath + "\n\n");
}
}