我正在尝试将docx文件中的内容最终复制到剪贴板。我到目前为止提出的代码是:
package config;
public class buffer {
public static void main(String[] args) throws IOException, XmlException {
XWPFDocument srcDoc = new XWPFDocument(new FileInputStream("D:\\rules.docx"));
XWPFDocument destDoc = new XWPFDocument();
OutputStream out = new FileOutputStream("D:\\test.docx");
for (IBodyElement bodyElement : srcDoc.getBodyElements()) {
XWPFParagraph srcPr = (XWPFParagraph) bodyElement;
XWPFParagraph dstPr = destDoc.createParagraph();
dstPr.createRun();
int pos = destDoc.getParagraphs().size() - 1;
destDoc.setParagraph(srcPr, pos);
}
destDoc.write(out);
out.close();
}
}
这确实会获取子弹但会对它们进行编号。我想保留原始的子弹格式。有没有办法做到这一点?
答案 0 :(得分:1)
您需要正确处理编号定义(在编号部分中)。
最可靠的做法是将定义(实例列表和抽象列表)复制到一起,然后重新编号(即给它一个新ID),使其独一无二。
当然,您需要更新段落中的ID才能匹配。
请注意,上述内容仅适用于您提出的问题。
如果您的内容包含对其他部分(例如图像)的rel,则会遇到问题。并且您没有处理样式定义等。