Стиль не остался (включая размер шрифта, вес шрифта, цвет шрифта, ...) после слияния - PullRequest
0 голосов
/ 11 апреля 2019

Я работаю с 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, пожалуйста, дайте мнесовет по этому вопросу.

...