方程式和公式字段

方程式和公式字段

方程式和公式字段

本指南展示了如何使用 FieldAdvance and FieldSymbol Aspose.Words FOSS for .NET 中的字段类,实现了 Word 的 ADVANCE and SYMBOL 字段。两个类都继承自 Field 并实现 IFieldCodeTokenInfoProvider;关于基础 Field 对象模型本身,请参阅 使用字段 指南。


使用 FieldAdvance 重新定位文本

FieldAdvance 实现了 ADVANCE 字段,该字段在不插入可见字符的情况下移动其后面的文本。DownOffset、UpOffset、LeftOffset 和 RightOffset(全部为 string)按该方向将后续文本移动一定的磅数。HorizontalPosition 和 VerticalPosition(亦为 string)分别将后续文本移动到相对于列、框架或文本框左边缘以及页面顶部边缘的绝对位置。


使用 FieldSymbol 插入特殊字符

FieldSymbol 实现了 SYMBOL 字段,该字段通过代码点插入单个字符。CharacterCode(字符串)提供字符的十进制或十六进制代码点。IsAnsi、IsUnicode 和 IsShiftJis(全部为 bool)选择 CharacterCode 的解释方式。FontName 和 FontSize(字符串)设置用于呈现检索字符的字体,DontAffectsLineSpacing(bool)控制插入的字符是否影响段落的行距。


技巧与最佳实践

  • 在 FieldSymbol 上仅设置 IsAnsi、IsUnicode 或 IsShiftJis 中的一个,以避免对 CharacterCode 的歧义解释。
  • FieldAdvance 的偏移属性是 string,而不是数值类型——在设置 DownOffset、UpOffset、LeftOffset、RightOffset、HorizontalPosition 或 VerticalPosition 时,请将点值作为字符串传递。
  • 将 FieldSymbol.FontName 设置为实际包含 CharacterCode 处字形的字体,否则渲染的字符可能会回退为缺失字形占位符。
  • 在更改 FieldAdvance 或 FieldSymbol 的任何属性后调用 Update(),以便字段的 Result / DisplayResult 反映此更改。
  • 在插入高的或不常见的符号字符且不应拉伸周围行高时使用 DontAffectsLineSpacing。

常见问题

问题原因修复
ADVANCE 字段未按预期移动文本错误地设置了偏移属性,或某个值保持默认设置与预期移动相匹配的特定 DownOffset / UpOffset / LeftOffset / RightOffset(相对)或 HorizontalPosition / VerticalPosition(绝对)属性
SYMBOL 字段显示错误字符CharacterCode 被以错误的编码解释设置恰好一个 IsAnsi、IsUnicode 或 IsShiftJis 以匹配 CharacterCode 的编写方式
符号字符呈现为缺失字形框FontName 不包含 CharacterCode 的字形将 FontName 设置为已知包含该字符的字体

FAQ

ADVANCE 字段有什么作用?

它重新定位其后面的文本,可通过相对偏移(DownOffset、UpOffset、LeftOffset、RightOffset)或绝对位置(HorizontalPosition、VerticalPosition)实现,且不插入可见字符。

如何使用 FieldSymbol 插入特定的 Unicode 字符?

将 CharacterCode 设置为字符的码点,设置 IsUnicode = true,并可选地设置 FontName / FontSize 来渲染字形。

FieldAdvance 的偏移值是数字还是字符串?

它们是 string 属性(DownOffset、UpOffset、LeftOffset、RightOffset、HorizontalPosition、VerticalPosition),符合原始字段代码参数格式。

插入 SYMBOL 字符会影响行间距吗?

将 DontAffectsLineSpacing 设置为 true,以防止插入的字符影响段落的行高。


API Reference 摘要

类/方法描述
FieldAdvance实现 ADVANCE 字段;在不插入字符的情况下重新定位后续文本
FieldAdvance.DownOffset / UpOffset / LeftOffset / RightOffset相对点偏移应用于以下文本
FieldAdvance.HorizontalPosition / VerticalPosition将绝对点位置应用于以下文本
FieldSymbol实现 SYMBOL 字段;通过代码点插入字符
FieldSymbol.CharacterCode字符的代码点,以十进制或十六进制表示
FieldSymbol.IsAnsi / IsUnicode / IsShiftJis选择 CharacterCode 的解释方式
FieldSymbol.FontName / FontSize用于渲染检索字符的字体
FieldSymbol.DontAffectsLineSpacing控制插入的字符是否影响段落行距

另请参阅

 中文