我正在使用 Aspose 并面临以下问题:
合并后应用于合并字段的样式全部丢失: 示例
然后,我通过删除字段代码中的 MERGEFIELD 关键字尝试了另一种方法,应用的样式保留正确但不是那么真实。合并已删除的字段,这些关键字堆积在文档顶部(请忽略版权警告): 示例
(我没有在这里嵌入图片的完全授权,所以请通过我在这篇文章中附加的链接访问)
这是我执行邮件合并过程的代码:
public static void generateMailMergePdfFromJson(Document template, String json, String outputFilePath) throws ParserConfigurationException, SAXException, IOException, Exception {
//Remove merge field with empty value and if the row are empty=> remove paragraph
template.getMailMerge().setCleanupOptions(MailMergeCleanupOptions.REMOVE_UNUSED_FIELDS
| MailMergeCleanupOptions.REMOVE_EMPTY_PARAGRAPHS
| MailMergeCleanupOptions.REMOVE_UNUSED_REGIONS
| MailMergeCleanupOptions.REMOVE_CONTAINING_FIELDS);
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(json);
ArrayNode arrayNode = objectMapper.createArrayNode();
arrayNode.add(jsonNode);
JsonNode rootNode = objectMapper.createObjectNode();
((ObjectNode) rootNode).set(Dictionary.ROOT_TAG_NAME, arrayNode);
//To call custom merge data with html code
template.getMailMerge().setFieldMergingCallback(new HandleMergeFieldInsertHtml());
// Add main merge field based of main root tag name
template.accept(new TableTagHandler(Dictionary.ROOT_TAG_NAME));
// Merge fields
template.getMailMerge().executeWithRegions(new JsonMailMergeDataSet(new JsonDocument(rootNode, Dictionary.ROOT_TAG_NAME)));
template.save(outputFilePath, SaveFormat.PDF);
}
任何一直在使用 Aspose 的人,请给我一个关于这个的建议。