У меня есть шаблон, в котором есть несколько полей слияния, которые находятся внутри и вне таблицы. Значения для этих полей запрашиваются и кэшируются для сопоставления, а затем устанавливаются в поле с помощью пользовательского FieldMergingCallback, вот код Java:
// doc is a Document object
doc.getMailMerge().setFieldMergingCallback(new IFieldMergingCallback() {
@Override
public void fieldMerging(FieldMergingArgs arg0) throws Exception {
if (fieldCache.containsKey(arg0.getFieldName())) {
arg0.setText(fieldCache.get(arg0.getFieldName()));
}
}
@Override
public void imageFieldMerging(ImageFieldMergingArgs arg0) throws Exception {
return;
}
});
Проблема в том, что я потерял весь формат поля (\* Caps, \* Upper и т. д.) при использовании метода setText, я пытался вызвать doc.updateFields() после вызова executeWithRegions(), но формат все еще потерян.
Как я могу зарезервировать формат при обратном звонке?
Это устаревшая система, поэтому мы застряли в aspose word 14.5.0.