#java #styles #aspose #aspose.words #aspose.pdf
#java #стили #aspose #aspose.words #aspose.pdf
Вопрос:
Я работаю с 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, пожалуйста, дайте мне совет по этому поводу.
Комментарии:
1. Похоже, вы столкнулись с этой проблемой со вставленным HTML. Я предлагаю вам использовать второй параметр DocumentBuilder. Метод insertHtml как true. Я работаю с Aspose в качестве евангелиста разработчика.
2. Большое спасибо, ваше предположение верно