gpt4 book ai didi

java - 使用 Apache POI HWPF 从 dotx 模板创建文档

转载 作者:行者123 更新时间:2023-11-30 06:25:01 24 4
gpt4 key购买 nike

我想从现有的 dotx 模板创建新文档。

我尝试了这里列出的几种方法 - How can I use predefined formats in DOCX with POI?但它们都不起作用。

设置样式没有任何影响。

XWPFDocument template = new XWPFDocument(new FileInputStream(new File("template.dotx")));       

XWPFDocument doc = new XWPFDocument();
XWPFStyles newStyles = doc.createStyles();
newStyles.setStyles(template.getStyle());

XWPFParagraph para = doc.createParagraph();
para.setStyle("Heading1");

XWPFRun run = para.createRun();
run.setText("Heading 1");

直接从模板创建文档会损坏新创建的文档,MS Word 无法打开它。提示文档内部有问题,没有任何具体细节。

XWPFDocument document = new XWPFDocument(new FileInputStream("template.docx");

有什么想法吗?

最佳答案

我发现实现此目的的最简单方法是使用 OPCPackage 的“replaceContentType”方法。

OPCPackage pkg = OPCPackage.open(src.getAbsolutePath());
pkg.replaceContentType("application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml");
pkg.save(dest);

在上面的代码中,“src”和“dest”都是java"file"对象。

保存文件后,您可以将其作为 XWPFDocument 打开,并执行您想要的任何类型的额外操作。

关于java - 使用 Apache POI HWPF 从 dotx 模板创建文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16264247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com