我有以下程序可以生成一个示例 Word 文档:using DocumentFormat.OpenXml;using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Wordprocessing;namespace OpenXmlExample{ class Program { static void Main(string[] args) { string filePath = @"C:\Users\[Redacted]\Desktop\OpenXmlExample.docx"; using (WordprocessingDocument document = WordprocessingDocument.Create(filePath, WordprocessingDocumentType.Document)) { // Create main part and body of document MainDocumentPart mainPart = document.AddMainDocumentPart(); mainPart.Document = new Document(); Body body = mainPart.Document.AppendChild(new Body()); // Prototype code for generation of the document title Paragraph paragraph = new Paragraph(); ParagraphProperties pPr = new ParagraphProperties { Justification = new Justification { Val = JustificationValues.Center } }; RunProperties rPr = new RunProperties { RunFonts = new RunFonts { ComplexScript = new StringValue("Arial") }, Bold = new Bold { Val = true }, Caps = new Caps { Val = true }, FontSize = new FontSize { Val = "32" }, FontSizeComplexScript = new FontSizeComplexScript { Val = "36" } }; Text t = new Text("Example Document"); Run r = new Run(); r.Append((OpenXmlElement) rPr.Clone()); r.Append(t); pPr.Append((OpenXmlElement) rPr.Clone()); paragraph.Append(pPr); paragraph.Append(r); body.Append(paragraph); } } }}它似乎工作得很好。“示例文档”正确呈现,粗体和大写,16pt 字体。但是,该ComplexScript = new StringValue("Arial")部分似乎不起作用。文本仅以默认字体呈现。任何人都可以帮助我了解我是否做错了什么?如果我将该Ascii属性设置为 Arial,它似乎可以工作,但我希望将其生成为<w:rFonts w:cs="Arial"/>标签。
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
对于单次运行,可以配置 4 种不同的字体。
这些字体中的每一种的使用应由运行内容的 Unicode 字符值确定。
Unicode 范围内的字符的ASCII (U+0000-U+007F)。
复杂脚本的复杂的脚本Unicode的范围,例如字符。阿拉伯文。
东亚用于东亚 Unicode 范围内的字符,例如。日本人。Unicode 范围内不属于其他类别之一的字符的
高 ANSI。
'EXAMPLE DOCUMENT' 中的字符都属于 ASCII 组,因此将应用相应组的字体。
MSDN和Office Open XML 中的更多详细信息。
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消