docx4j拆分word

发布于 2021-12-01 10:24:15 字数 1969 浏览 915 评论 4

现在需要做个题库系统,用户上传word的试卷,系统拆分成一个一个的题目,要求格式保持基本不失真,所以考虑用docx4j把试卷拆分成一个一个的题目,每个题目一个word,再分别提取word的内容,但是拆分 之后,图片不能复制到拆分之后的word中。怎么做才能把图片也拆分到word中。下面是我的代码:

public class SplitUsingDocx4j { /**
 * @param args
 * @throws Docx4JException
 * @throws FileNotFoundException
 */ public static void main(String[] args) throws Docx4JException,     FileNotFoundException { File dir = new File(PropertyUtils.getProperty("INPUT_DIR")); String[] files = dir.list(); File file = null; if (files.length == 0) { System.out.println("The directory is empty"); } else { for (String aFile : files) { System.out.println(aFile); file = new File(PropertyUtils.getProperty("INPUT_DIR") + aFile + "/" + aFile + ".docx"); } } // Creating new documents WordprocessingMLPackage doc1 = WordprocessingMLPackage.createPackage(); WordprocessingMLPackage doc2 = WordprocessingMLPackage.createPackage(); // loading existing document WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage .load(new java.io.File(file.getPath())); MainDocumentPart tempDocPart = wordMLPackage.getMainDocumentPart(); List<Object> obj = wordMLPackage.getMainDocumentPart().getContent(); // for copying styles from existing doc to new docs StyleDefinitionsPart sdp = tempDocPart.getStyleDefinitionsPart(); Styles tempStyle = sdp.getJaxbElement(); doc1.getMainDocumentPart().getStyleDefinitionsPart() .setJaxbElement(tempStyle); doc2.getMainDocumentPart().getStyleDefinitionsPart() .setJaxbElement(tempStyle); boolean flag = false; for (Object object : obj) { if (!flag) { if (object.toString().equalsIgnoreCase("CONSTRUCTION DETAILS:")) { flag = true; } doc1.getMainDocumentPart().addObject(object); } else { doc2.getMainDocumentPart().addObject(object); } } String fileName = file.getName().toString().replace(".docx", ""); doc1.save(new File(fileName + "-1.docx")); doc2.save(new File(fileName + "-2.docx")); }}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

冷清清 2021-12-06 12:25:43

这个是用啥子实现的,谢谢,转换成html

掩饰不了的爱 2021-12-05 18:35:52

回复
用poi就行

左岸枫 2021-12-05 14:13:05

谢谢

凌乱心跳 2021-12-02 13:11:56

你这代码就main

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文