[英]Docx4j - replacing placeholder destroys format
當嘗試使用docx4j框架將我的占位符文本替換為word模板時,格式總是丟失:
我試圖將代碼簡化為我在這里所做的工作的核心:
private void replacePlaceholder(WordprocessingMLPackage template,
String name,
String placeholder) {
List<Object> texts =
doc.getAllElementFromObject(template.getMainDocumentPart(), Text.class);
for (Object text : texts) {
Text textElement = (Text) text;
if (textElement != null
&& textElement.getValue() != null
&& placeholder != null
&& textElement.getValue().equals(placeholder)) {
textElement.setValue(name);
}
}
}
WordprocessingMLPackage wp =
WordprocessingMLPackage.load(context.getResourceAsStream("/template.docx"));
replacePlaceholder(wp, "Apr. 2007 - Dez. 2012", "tempDatum");
有人知道我應該怎么做才能保持原始格式嗎?
就像Jason在評論中指出的那樣,我的代碼不會更改格式!
但是由於它總是跳回到標准格式,所以我只是在模板中編輯了該標准格式,將其保存后就可以使用了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.