'Word found unreadable content in .docx after replacing content through docx4j

I am getting error Word found unreadable content in .docx after replacing content through docx4j.

Please find code snippet.

I am using docx4j-6.1.2 jar

public class Testt {

public static void main(String[] args) throws Exception {

    final String TEMPLATE_NAME = "D://fileuploadtemp//123.docx";
    InputStream templateInputStream = new FileInputStream(TEMPLATE_NAME);
    WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(templateInputStream);
    MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
    String xpath = "//w:r[w:t[contains(text(),'TEST')]]";
    List<Object> list = documentPart.getJAXBNodesViaXPath(xpath, true);

    for (Object obj : list) {
        org.docx4j.wml.ObjectFactory factory = new org.docx4j.wml.ObjectFactory();
        org.docx4j.wml.Text t = factory.createText();
        t.setValue("\r\n");
        ((R) obj).getContent().clear();
        ((R) obj).getContent().add(t);
    }

    OutputStream os = new FileOutputStream(new File("D://fileuploadtemp//1234.docx"));
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    wordMLPackage.save(outputStream);
    outputStream.writeTo(os);
    os.close();
    outputStream.close();
    templateInputStream.close();

}

} enter image description here



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source