当前位置: 首页 > 知识库问答 >
问题:

如何用docx4j在docx文档中创建样式表?

祁高格
2023-03-14
P p = factory.createP();                 // create an empty paragraph
String styleId = wpMLPackage.getMainDocumentPart().getStyleDefinitionsPart()
            .getIDForStyleName(styleName);    // find the styleID because the template has defined names
PPr ppr = wpMLPackage.getMainDocumentPart().getStyleDefinitionsPart().getStyleById(styleId)
            .getPPr();                        // extract the PPr from the style
p.setPPr(ppr);                                // and affect it to the paragraph
}
R r = factory.createR();                 // finally set the paragraph text
Text txt = factory.createText();
txt.setValue(text);
r.getContent().add(txt);
p.getContent().add(r);

共有1个答案

章嘉致
2023-03-14

表样式以完全不同的方式受到影响。

事实上,我们并没有从样式中提取table属性,而是创建了一个不同的对象,它是TBLStyle

代码简单到:

    tbl = factory.createTbl();                   // create an empty table
    TblPr tblPr = factory.createTblPr();         // create a brand new TblPr
    TblStyle tblStyle = new TblStyle();          // create a brand new TblStyle
    String styleID = wpMLPackage.getMainDocumentPart().getStyleDefinitionsPart()
            .getIDForStyleName(styleName));      // find the style ID from the name
    tblStyle.setVal(styleID);                    // just tell tblStyle what style it shall be
    tblPr.setTblStyle(tblStyle);                 // and affect each object its property...
    this.tbl.setTblPr(tblPr);
    wpMLPackage.getMainDocumentPart().getContent().add(tbl);   // we can now add the styled table
 类似资料:
  • 我正在尝试创建一个表,并使用docx4j库将其添加到MainDocumentPart,如下所示,但它会破坏文档,并且无法打开(我使用MS Word 2010和docx格式)

  • 我今天开始使用docx4j; Hello Word 我在StackOverflow和Web上进行了搜索,并尝试了找到的几乎所有示例,但信息非常零散,在深入挖掘之前,我想至少知道我的方向是否正确。 我已经向Maven添加了jar,但是在文档中它声明内容必须是格式良好的XHTML,而我只有一堆文本和HTML混合在一起。

  • 我根据你的建议和我的需要对代码进行了修改,代码就在这里 我不需要删除书签中的文本,所以我删除了它。我不知道出了什么问题,程序正在编译,但我打不开doc这个词,上面写着“未知错误”。我测试写一些字符串“值”,它在书签和文档打开时写得很完美,但在表的情况下不是这样。请帮我提前谢谢

  • 我想从现有的Word2010文档创建一个文档,并使用Docx4j3.1.0将其转换为PDF。我在样品的基础上 这个东西应该有用吗?如果是:我怎样才能发现我遗漏了什么?

  • 问题内容: 您认为将docx文档读取为java对象哪个更好?为什么? 换一种说法。哪个库支持大多数单词标签? 问题答案: 披露:我领导docx4j项目 尽管docx4j还可以处理pptx和xlsx,但它主要用于docx操作。举例来说,在撰写本文时,docx4j论坛中有近1000个主题。pptx论坛仅占10%。 无论您想对docx文档做什么,docx4j都应该能够为您提供帮助。通用工作流只有一页概述

  • 我从这里得到代码:Docx4j从一个. docx导出样式,并在另一个. docx中使用它 所以我从模板导入样式。docx,我在那里创建了自己的Heading1 ant标题样式。其工作,我在以下代码中有问题: 如果我添加了这个光谱仪,在创建的. docx文件中,标题样式将是默认的docx4j样式,但是Heading1将与template.docx.中的相同。如果我将“标题”更改为“标题1”,我有同样