java - 如何从 byte[] 创建 XWPFDocument?

标签 java xwpf

我有一个 Microsoft Word .docx 文档上传到 Sharepoint。在我的 java 代码中,我已将此文档下载到一个 byte[] 中。好的。现在,我想要的是处理这个 byte[] 以获得 XWPFDocument 并能够将一些变量替换到文档中。

请问有人能帮帮我吗?

谢谢!!

最佳答案

您可以使用在 XWPFDocument 的构造函数中指定的 InputStream(ByteArrayInputStream) 从 byte[] 读取 XWPFDocument,您可以从 XWPFDocument 中获取段落和运行。 之后您可以进行如下编辑。

byte[] byteData = ....

// read as XWPFDocument from byte[]
XWPFDocument doc = new XWPFDocument(new ByteArrayInputStream(byteData));

int numberToPrint = 0;

// you can edit paragraphs
for (XWPFParagraph para : doc.getParagraphs()) {
    List<XWPFRun> runs = para.getRuns();

    numberToPrint++;

    for (XWPFRun run : runs) {

        // read text
        String text = run.getText(0);

        // edit text and update it
        run.setText(numberToPrint + " " + text, 0);
    }
}

// save it and you can get the updated .docx
FileOutputStream fos = new FileOutputStream(new File("updated.docx"));
doc.write(fos);

关于java - 如何从 byte[] 创建 XWPFDocument?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39770755/

相关文章:

java - java中使用xpath查找节点

java - 我可以向哪些类/实例中注入(inject) CDI 事件?

java - ListAdapter 修改数据源(这是一个数组列表)

java - 使用java在ms word文件中创建任何一年的日历

java - 如何确保apache poi xwpf中的ctdocument属性顺序

java - 在 XWPFDocument 中使用阿拉伯语和波斯语

java - 删除 .docx 文件中的图像

java - 如何正确处理图形上下文——我需要最后尝试吗? (Java 1.7)

java - poi XWPF 双空格

java - 单击任何标签时调用单个函数 JInternalFrame Java Swing