6.2.0在线编辑:GrapeCity Documents for Word (GcWord) Crack
GrapeCity Word 文档 (GcWord)
支持 Office Math 函数以及转换为 MathML
GcWord 现在支持在 Word 文档中创建和编辑 Office Math 内容。GcWord 中的 OMath 支持包括完整的 API,可处理科学、数学和通用 Word 文档中广泛使用的数学符号、公式和方程。以下是通过 OMath 支持引入的新 API 的主要亮点 -
- 用于在 GcWord 中表示 Office Math 内容的两个主要类是OMathParagraph和OMath。OMathParagraph表示包含 Office Math 内容的段落,而OMath表示内联 Office Math 区域,可以包含在 OMathParagraph 或常规段落中。
- 提供专门的类(例如OMathFunction、OMathEquationArray、OMathRadical等)来表示 OMath 区域内的各种数学结构。这些类派生自公共抽象OMathStruct基础。
- 新的 RangeBase 属性提供对 Office Math 内容的访问:OMathParagraphs、OMaths、OMathStructs、OMathElements和OMathMatrixRows。
- 为了轻松添加 MS Word 支持的内置方程,在RangeBase、OMathParagraph、OMath和OMathElement类上提供了方便的 Add/Insert 方法,它们接受标识所需方程的OMathBuiltInEquation枚举值。
- 包含一个实用程序MathMLConverter类,以便在 GcWord OMath 内容和 MathML 之间轻松转换。
以下代码使用OMath类及其函数将方程添加到 Word 文件中:
var sampleDoc = new GcWordDocument();
var om = sampleDoc.Body.AddParagraph().AddOMathParagraph().AddOMath();
om.AddRun("Γ").Font.Italic = false;
om.AddDelimiter(new string[] { "z" });
om.AddRun("=");
var nary = om.AddNary("", "0", "∞", "∫");
nary.Base.AddSuperscript("t", "z-1");
nary.Base.AddSuperscript("e", "-t");
nary.Base.AddRun("dt");
om.AddRun("=");
var frac = om.AddFraction();
var superscript = frac.Numerator.AddSuperscript("e", "-");
superscript.Superscript.AddRun("γ").Font.Bidi = true; //w:cs was used
superscript.Superscript.AddRun("z");
frac.Denominator.AddRun("z");
nary = om.AddNary("", "k=1", "∞", "∏");
superscript = nary.Base.AddSuperscript("", "-1");
var delimiter = superscript.Base.AddDelimiter();
var item = delimiter.Items.Add();
item.AddRun("1+");
item.AddFraction("z", "k", null);
superscript = nary.Base.AddSuperscript("e", "z");
superscript.Superscript.AddRun("/").OMathFormat.IsLiteral = true; //m:lit used.
superscript.Superscript.AddRun("k");
om.AddRun(", γ≈0.577216");
sampleDoc.Save("MathEquation.docx");
新的帮助程序“Add<content object>(..)”方法可将内容添加到 Word 文档。
到目前为止,可以通过一种或多种方式在 Word 文档中添加内容对象。例如,可以通过段落创建构造函数调用 - doc.Body.Paragraphs.Add(“text“) 或使用 paragraph.GetRange().Runs.Add(…) 添加段落的“runs”并创建这次通话之前的一段话。然而,在 v6.2 版本中,现在可以使用新的“AddRun(..)”方法直接在段落元素上创建连续句。
同样,GcWord 为 Word 文档中的每种内容添加了“ Add < content object>(..)”方法,以便它们可以直接添加到其父对象中,从而使代码更短、更高效。现在可以使用新的 Helper 方法将每个对象直接添加到 Word 文档中的不同部分或内容对象:
- 桌子
- 段落
- 内容控制
- 简单字段
- 超链接
- 双向覆盖
- OM数学段落
- 奥马斯
- 跑步
- 脚注
- 尾注
- 复杂场
- 团体形态
- 形状
- 图片
- 墨形
看一下下面的代码,它使用新方法“ AddRun(..) ”将段落运行添加到段落中:
GcWordDocument doc = new GcWordDocument();
// add paragraph with default formatted text
var p = doc.Body.AddParagraph("text1");
// add another text into the paragraph formatted with "Heading1" style
// previously code should look like: p.GetRange().Runs.Add("text2", doc.Styles[BuiltInStyleId.Heading1]);
// now the code is shorter and more clear what content can be added into the object
p.AddRun("text2", doc.Styles[BuiltInStyleId.Heading1]);
查看以下资源以查看新支持的帮助器方法的完整列表。
GcWord 模板中的转义模板标签
如果要阻止数据模板引擎处理特定的数据模板标记(即,在模板扩展后在文档中逐字引用它),请在标记的左双大括号之前插入反斜杠。
以下代码片段显示了如何转义否则会打印数据值的标签:
var dsPoint = new string[] { "2.2", "3.3", "4.4" };
var doc = new GcWordDocument();
doc.Body.Paragraphs.Add(@"\{{dsPoint.value}:todouble():format(0.#%)}");
doc.DataTemplate.DataSources.Add("dsPoint", dsPoint);
doc.DataTemplate.Process(CultureInfo.GetCultureInfo("en-US"));
doc.Save("DocumentWithDoubleSlash.docx");
此外,要在模板标记之前使用反斜杠而不禁用模板处理,GcWord 允许您插入两个或多个反斜杠,具体取决于需要的数量。处理模板标签时,它将从前置反斜杠中删除一个反斜杠。
以下代码向模板语法添加双斜杠。处理模板语法时,这将在生成的 Word 文件中添加一个反斜杠:
var dsPoint = new string[] { "2.2", "3.3", "4.4" };
var doc = new GcWordDocument();
doc.Body.Paragraphs.Add(@"\{{dsPoint.value}:todouble():format(0.#%)}");
doc.DataTemplate.DataSources.Add("dsPoint", dsPoint);
doc.DataTemplate.Process(CultureInfo.GetCultureInfo("en-US"));
doc.Save("DocumentWithDoubleSlash.docx");