Aspose.Word MailMerge FieldMergingCallback设置字体大小

时间:2018-06-21 13:19:32

标签: c# aspose aspose.words

在FieldMergingCallback中是否可以检索字段大小,计算字体大小并更改用于合并文本的字体大小?
在我的模板中,我有固定大小的单元格表格。桌子不能长大。
因此,当我将较长的文本放入单元格中时,我希望在文本不适合时缩小字体。
Word中表格设置中的“适合文本”选项无法正常运行。

1 个答案:

答案 0 :(得分:2)

在执行邮件合并之前,您可以使用以下代码将某些字体格式应用于“合并”字段内的所有“运行”节点:

foreach (Field field in doc.Range.Fields)
{
    if (field.Type.Equals(Aspose.Words.Fields.FieldType.FieldMergeField))
    {
        Node currentNode = field.Start;
        bool isContinue = true;
        while (currentNode != null && isContinue)
        {
            if (currentNode.NodeType.Equals(NodeType.FieldEnd))
            {
                FieldEnd end = (FieldEnd)currentNode;
                if (end == field.End)
                    isContinue = false;
            }

            if (currentNode.NodeType.Equals(NodeType.Run))
            {
                // Specify Font formatting here
                Run run = ((Run)currentNode);
                run.Font.Size = 6;
            }

            Node nextNode = currentNode.NextPreOrder(currentNode.Document);
            currentNode = nextNode;
        }
    }
}

希望,这会有所帮助。我和Aspose一起担任开发人员推广人员。