У меня есть несколько шаблонов с тегами, и эти теги заменены HTML.Я мог бы сделать это, используя Apache POI, следуя ответу @AxelRichter здесь: Как заменить текст (тег) на HTML в docx, используя Apache POI?
Как я знаю, эти AltChunks преобразуютсяв формат Word, когда файл открывается в MS Word.Но мне нужно конвертировать их, прежде чем открывать.Я обнаружил, что docx4j может сделать это с помощью метода convertAltChunks () в MainDocumentPart.
Итак, что я пытался сделать:
XWPFDocument templateDocx = //here everything is replaced and fine.
//AltChunks are converted when opened in MS Word
ByteArrayOutputStream os = new ByteArrayOutputStream();
templateDocx.write(os);
templateDocx.close();
InputStream is = new ByteArrayInputStream(os.toByteArray());
//Opening document processed by Apache POI using docx4j
WordprocessingMLPackage wordMLPackage = Docx4J.load(is);
//Converting AltChunks
WordprocessingMLPackage pkgOut = wordMLPackage.getMainDocumentPart().convertAltChunks();
pkgOut.save(response.getOutputStream());
Но AltChunks не конвертируются.Как я могу это сделать?Apache POI и Docx4j не совместимы?Если да, как я могу заменить теги HTML с использованием docx4j, как я здесь описал ?: Как заменить текст (тег) HTML в docx с использованием Apache POI?
ОБНОВЛЕНИЕ:
Если я открою свой результирующий документ с помощью 7zip, я получу следующее:
Скриншоты корневой папки, папки word, document.xml и _rels / document.xml.rels
someText isid моего AltChunk someText.html содержит:
<!DOCTYPE html><html><head><style></style><title>HTML import</title></head><body><p><strong>qwe</strong></p><p><strong><em>asd</em></strong></p><p><strong><em><u>zxc</u></em></strong></p><p style="text-align: center;"><strong><em><u>123</u></em></strong></p></body>