docx4j import style from other .docx 问题
docx4j import style from other .docx problem
我从这里获取代码:
WordprocessingMLPackage wordMLPackage2 = WordprocessingMLPackage.load(new java.io.File(System.getProperty("user.dir") + "/template.docx"));
MainDocumentPart tempDocPart = wordMLPackage2.getMainDocumentPart();
StyleDefinitionsPart sdp = tempDocPart.getStyleDefinitionsPart();
Styles tempStyle = sdp.getJaxbElement();
wordMLPackage.getMainDocumentPart().getStyleDefinitionsPart().setJaxbElement(tempStyle);
所以我从 template.docx 导入样式,我在其中创建了自己的 Heading1 蚂蚁标题样式。它的工作,我在以下代码中遇到问题:
wordMLPackage.getMainDocumentPart().addStyledParagraphOfText("Title", "Title test");
如果我添加此文字,在创建的 .docx 文件中,标题样式将是默认的 docx4j 样式,但标题 1 将与 template.docx 中的相同。
如果我将 "Title" 更改为 "Heading1",我会遇到同样的问题,但 Heading1 样式将是默认样式,而 Title 将是导入的样式。
所以如果我在代码中添加样式段落,样式将更改为默认样式,但如果我不添加样式段落并且我在Word中打开创建的docx并更改文本样式,它将是导入的样式。
我有办法。我用匈牙利语的Word,匈牙利语的"Heading1"是"Címsor1."
所以不是这个:
wordMLPackage.getMainDocumentPart().addStyledParagraphOfText("Heading1", "Test");
我必须使用这个:
wordMLPackage.getMainDocumentPart().addStyledParagraphOfText("Cmsor1", "Test");
我从这里获取代码:
WordprocessingMLPackage wordMLPackage2 = WordprocessingMLPackage.load(new java.io.File(System.getProperty("user.dir") + "/template.docx"));
MainDocumentPart tempDocPart = wordMLPackage2.getMainDocumentPart();
StyleDefinitionsPart sdp = tempDocPart.getStyleDefinitionsPart();
Styles tempStyle = sdp.getJaxbElement();
wordMLPackage.getMainDocumentPart().getStyleDefinitionsPart().setJaxbElement(tempStyle);
所以我从 template.docx 导入样式,我在其中创建了自己的 Heading1 蚂蚁标题样式。它的工作,我在以下代码中遇到问题:
wordMLPackage.getMainDocumentPart().addStyledParagraphOfText("Title", "Title test");
如果我添加此文字,在创建的 .docx 文件中,标题样式将是默认的 docx4j 样式,但标题 1 将与 template.docx 中的相同。 如果我将 "Title" 更改为 "Heading1",我会遇到同样的问题,但 Heading1 样式将是默认样式,而 Title 将是导入的样式。 所以如果我在代码中添加样式段落,样式将更改为默认样式,但如果我不添加样式段落并且我在Word中打开创建的docx并更改文本样式,它将是导入的样式。
我有办法。我用匈牙利语的Word,匈牙利语的"Heading1"是"Címsor1."
所以不是这个:
wordMLPackage.getMainDocumentPart().addStyledParagraphOfText("Heading1", "Test");
我必须使用这个:
wordMLPackage.getMainDocumentPart().addStyledParagraphOfText("Cmsor1", "Test");