如何使用POI API或Docx4j将“ .dotx” Word模板转换为普通的“ .docx”?
答案 0 :(得分:3)
需要将/word/document.xml
的内容类型从application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml
更改为application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml
。
使用apache poi 4.0.1
的示例:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;
public class WordReadDOTXSaveDOCX {
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument(new FileInputStream("StudentReport.dotx"));
document.getPackage().replaceContentType(
"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml");
FileOutputStream out = new FileOutputStream("TheDocumentFromDOTXTemplate.docx");
document.write(out);
out.close();
document.close();
}
}