Aspose.Word MailMerge FieldMergingCallback 设置字体大小
Aspose.Word MailMerge FieldMergingCallback set font size
是否可以在 FieldMergingCallback 中检索字段大小、计算字体大小以及更改合并文本的字体大小?
在我的模板中,我有 table 和固定大小的单元格。 table 无法增长。
因此,当我将长文本放入单元格时,当文本放不下时,我希望字体变小。
Word 中 table 设置中的适合文本选项无法正常工作。
在执行邮件合并之前,您可以使用以下代码对合并字段内的所有 运行 节点应用一些字体格式:
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 工作,担任开发人员传道者。
是否可以在 FieldMergingCallback 中检索字段大小、计算字体大小以及更改合并文本的字体大小?
在我的模板中,我有 table 和固定大小的单元格。 table 无法增长。
因此,当我将长文本放入单元格时,当文本放不下时,我希望字体变小。
Word 中 table 设置中的适合文本选项无法正常工作。
在执行邮件合并之前,您可以使用以下代码对合并字段内的所有 运行 节点应用一些字体格式:
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 工作,担任开发人员传道者。