package cn.flightfeather.supervision.docx4j.simpleDemo;
|
|
|
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");
|
|
|
}
|
|
}
|