我正在尝试使用具有预定义样式,字体和字体大小的模板,因此当我创建新文档时,它具有样式,我的模板中定义了字体。
这是我的代码:
private static byte[] joinSections(Document document, List<byte[]> list) throws Exception {
if (list != null && list.size() > 0) {
document.removeAllChildren();
for (byte[] item : list) {
ByteArrayInputStream partInStream = new ByteArrayInputStream(item);
Document target = new Document(partInStream);
// Make the document appear straight after the destination documents content.
target.getFirstSection().getPageSetup().setSectionStart(SectionStart.CONTINUOUS);
document.appendDocument(target, ImportFormatMode.USE_DESTINATION_STYLES);
}
ByteArrayOutputStream bs = new ByteArrayOutputStream();
document.save(bs, SaveFormat.DOCX);
return bs.toByteArray();
}
return null;
}
文档是定义样式的模板。 该列表是我要插入空模板的段落列表。在调用此函数之前填充该列表
我有两个问题:
在结果文档中,我的样式被应用,但字体名称和字体大小是从源段落继承的,甚至我设置为使用USE_DESTINATION_STYLES。例如,如果我的模板有标题1的Arial 14和源文档,我从那里提取该段落,对于标题1有字体Times New Roman,在结果文档中它将是Times New Roman吗?我在这里缺少什么
无论我做什么,我总是在结果文档中获得样式Normal_0。不确定如何忽略源并避免在结果文档中使用Normal_0?
谢谢