Ich habe Probleme beim Importieren von Formatvorlagen aus einer docx-Vorlage. Ich möchte diese Stile extrahieren, um sie auf mein neues Dokument anzuwenden. Die meisten von ihnen haben eine Nummerierung.Vorlagevorlage mit Auflistung importieren: getNumberingDefinitionsPart() gibt null für WordprocessingMLPackage.createPackage() zurück
Ich kann den Stil und die Nummerierung korrekt aus Vorlage extrahieren. Ich kann Stile anwenden kann aber t gelten als meine wordMLPackage.getMainDocumentPart Nummerierung(). GetNumberingDefinitionsPart()
null zurück, wenn ich versuche, nicht NumberingDefinitionPart, alle meine Stile mit Nummer wiederum impliziert Eintrag zu importieren als Liste zu betrachten, ohne Nummer (und das ist nicht was ich will).
Ich kann keinen Weg finden, es zu installieren, und es gibt keine Methode, um eine neue zu setzen. Hier ist mein Code.
public class ModuleToDocxGenerator {
private WordprocessingMLPackage wordMLPackage = null;
private XHTMLImporter xHTMLImporter = null;
private List<String> listStyle;
private ProjectType project;
private File file;
private Map<String, Object> mapElement = new HashMap<>();
private int taillePolice = 12;
private final String police = "Arial";
private Map<String, String> mapBookmark = new HashMap<>();
private int compteurIDBookMark = 1;
public void docxParser() {
// Récupération des styles du template
WordprocessingMLPackage wordMLPackage2 = null;
try {
wordMLPackage2 = WordprocessingMLPackage.load(new File("template.docx"));
} catch (Docx4JException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
wordMLPackage = WordprocessingMLPackage.createPackage();
} catch (InvalidFormatException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
MainDocumentPart tempDocPart = wordMLPackage2.getMainDocumentPart();
//add Style part
StyleDefinitionsPart sdp = tempDocPart.getStyleDefinitionsPart();
Styles tempStyle = null;
// Add numbering part
NumberingDefinitionsPart ndp = tempDocPart.getNumberingDefinitionsPart();
Numbering numbStyle = null;
try {
tempStyle = sdp.getContents();
numbStyle=ndp.getContents();
} catch (Docx4JException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
wordMLPackage.getMainDocumentPart().getNumberingDefinitionsPart().setJaxbElement(numbStyle);
wordMLPackage.getMainDocumentPart().getStyleDefinitionsPart().setJaxbElement(tempStyle);
Könnte mir bitte jemand helfen?