Doc4j pptx查找并替换表行

时间:2018-04-08 05:21:27

标签: java powerpoint docx4j

我有一个要求,我需要在运行时将Powerpoint文件中的某些文本替换(Powerpoint文件用作模板,其中包含一些占位符/ tokes,例如{{data1}})。

我参考了论坛上的其他链接,并开始使用' docx4j'但我不能超越一点,文件不是很清楚

    List tableCells = clonedRow.getTc();
    // Finally, insert the copy in the list
    theTable.getTr().add(clonedRow); // standard Java list API
     for (int ix = 0; ix < tableCells.size(); ix++)
     {
         CTTableCell  tableCell = (CTTableCell)XmlUtils.unwrap(tableCells.get(ix));
        // List<CTTextParagraph> value=tableCell.getTxBody().getP();

         for (CTTextParagraph p : tableCell.getTxBody().getP()) {
             Text text = (Text) ((JAXBElement) p).getValue();
            }

1 个答案:

答案 0 :(得分:0)

SlidePart扩展了JaxbXmlPart,其中包含:

public void variableReplace(java.util.Map<String, String> mappings)

如果您想使用variableReplace,您的变量应如下所示:$ {key1},$ {key2}

有关示例,请参阅https://github.com/plutext/docx4j/blob/master/src/samples/docx4j/org/docx4j/samples/VariableReplace.java对于docx的说明;你只需要将它应用到你的SlidePart。