将扩展名为“.dotx”的文件(模板)转换为“docx”(Word 文件)

you*_*ani 0 java docx apache-poi docx4j

如何使用 POI API 或 Docx4j 将“.dotx”Word 模板转换为纯“.docx”?

Axe*_*ter 8

需要将内容类型/word/document.xml从更改application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xmlapplication/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();
 }
}
Run Code Online (Sandbox Code Playgroud)