Package org.docx4j.samples

Source Code of org.docx4j.samples.CommentsDeleter

package org.docx4j.samples;
import java.util.List;

import org.docx4j.TraversalUtil;
import org.docx4j.XmlUtils;
import org.docx4j.finders.CommentFinder;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
import org.docx4j.wml.Body;
import org.docx4j.wml.ContentAccessor;
import org.jvnet.jaxb2_commons.ppp.Child;


public class CommentsDeleter {

  public static void main(String[] args) throws Exception {
 
    WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage
        .load(new java.io.File(System.getProperty("user.dir") + "/CommentsDeleter.docx"));
    MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();

    org.docx4j.wml.Document wmlDocumentEl = (org.docx4j.wml.Document) documentPart
        .getJaxbElement();
    Body body = wmlDocumentEl.getBody();
 
    CommentFinder cf = new CommentFinder();
      new TraversalUtil(body, cf);
 
      for (Child commentElement : cf.getCommentElements()) {
          System.out.println(commentElement.getClass().getName());
          Object parent = commentElement.getParent();
          List<Object> theList = ((ContentAccessor)parent).getContent();
          boolean removeResult = remove(theList, commentElement );
          System.out.println(removeResult);
     
  }

  private static boolean remove(List<Object> theList, Object bm)   {
    // Can't just remove the object from the parent,
    // since in the parent, it may be wrapped in a JAXBElement
    for (Object ox : theList) {
      if (XmlUtils.unwrap(ox).equals(bm)) {
        return theList.remove(ox);
      }
    }
    return false;
  }
 
}
TOP

Related Classes of org.docx4j.samples.CommentsDeleter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.