c# - Aspose.Word MailMerge FieldMergingCallback 设置字体大小

标签 c# aspose aspose.words

是否可以在 FieldMergingCallback 中检索字段大小、计算字体大小并更改合并文本的字体大小?
在我的模板中,我有带有固定大小单元格的表格。表不能增长。
因此,当我将长文本放入单元格时,当文本不适合时,我希望字体较小。
Word 表格设置中的“适合文本”选项无法按我的意愿工作。

最佳答案

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

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 担任开发人员传播者。

关于c# - Aspose.Word MailMerge FieldMergingCallback 设置字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50969591/

相关文章:

c# - 基于变量动态创建控件

c# - 如何在 Aspose 中设置单元格格式

java - 使用 aspose.diagram java 读取组/容器内的形状

.net - 在 Aspose 文档 (.NET) 中的现有引用表之后插入 Aspose 表

java - 使用aspose获取word文档的页数

css - 忽略所有父 css 的 HTML 元素

apache-poi - 从java中的模板文件创建docx文件

c# - .NET 4.0 协方差

c# - 怎么给桌面应用程序快捷方式添加图标

c# - 使用 Windows 窗体更新 mysql 数据库总是给出奇怪的错误消息