我试图将模板的页眉、页脚和样式从dotx附加到docx文档,但是docx4j只应用样式而忽略页眉和页脚。我做错什么了吗?有办法吗?
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
JAXBContext jc = JAXBContext.newInstance(bindClass);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
StringWriter writer = new StringWriter();
marshaller.marshal(bindingInstance, writer);
String inputXML = writer.toString();
System.out.println(inputXML);
// Load input_template
WordprocessingMLPackage wordMLPackage = Docx4J.load(getDocx("doc.docx"));
wordMLPackage.attachTemplate(getDotx("template.dotx").getAbsolutePath());
Docx4J.bind(wordMLPackage, inputXML, Docx4J.FLAG_BIND_BIND_XML | Docx4J.FLAG_BIND_INSERT_XML | Docx4J.FLAG_BIND_REMOVE_XML);
Docx4J.save(wordMLPackage, bos, Docx4J.FLAG_BIND_BIND_XML | Docx4J.FLAG_BIND_INSERT_XML | Docx4J.FLAG_BIND_REMOVE_XML);
System.out.println("DocumentPrintHandler.bindData() ==>" + wordMLPackage.getDocPropsExtendedPart().getContents().getPages()); //$NON-NLS-1$
} catch (JAXBException e) {
Logging.i("DocumentPrintHandler.bindData() (JAXBException)", e); //$NON-NLS-1$
return null;
} catch (Docx4JException e) {
Logging.i("DocumentPrintHandler.bindData() (Docx4JException)", e); //$NON-NLS-1$
return null;
} catch (Exception e) {
Logging.i("DocumentPrintHandler.bindData() (Exception)", e); //$NON-NLS-1$
return null;
}
return bos.toByteArray();
}```
暂无答案!
目前还没有任何答案,快来回答吧!