Spire.Doc is a professional Word .NET library specifically designed for developers to create, read, write, convert and print Word document files. Get free and professional technical support for Spire.Doc for .NET, Java, Android, C++, Python.

Tue Mar 17, 2020 2:32 pm

你好,
通过spire.doc建立的目录,怎么更改其paragraphs下的目录文本的字体格式?

Liyuanyuan
 
Posts: 13
Joined: Tue Mar 17, 2020 1:12 pm

Wed Mar 18, 2020 5:56 am

您好,

感谢您的咨询。
请参照下面的代码来更改目录文本的格式(如字体和文字大小),附件是我的输入文档和结果文档。
Code: Select all
    static void Main(string[] args)
    {
        Document doc = new Document();
        doc.LoadFromFile("目录.docx");
        foreach (Section section in doc.Sections)
        {
            //遍历body下面所有对象
            foreach (DocumentObject obj in section.Body.ChildObjects)
            {
                if (obj is Paragraph)
                {
                    Paragraph para = obj as Paragraph;
                    //通过样式名来确定是否是目录文本
                    switch(para.StyleName){
                        //一级标题
                        case "TOC1":
                            ChangeFont(para, "黑体", 14);
                            break;
                        //二级标题
                        case "TOC2":
                            ChangeFont(para, "黑体", 12);
                            break;
                        //三级标题
                        case "TOC3":
                            ChangeFont(para, "黑体", 10);
                            break;
                        //其余级别类推
                    }
                }
            }
        }
        doc.SaveToFile("结果.docx", FileFormat.Docx);
    }

    public static void ChangeFont(Paragraph para, string fontName, int fontSize)
    {
        foreach (DocumentObject obj in para.ChildObjects)
        {
            //如果对象类型为TextRange
            if (obj.DocumentObjectType == DocumentObjectType.TextRange)
            {
                TextRange tr = (TextRange)obj;
                //更改字体和文字大小
                tr.CharacterFormat.FontName = fontName;
                tr.CharacterFormat.FontSize = fontSize;
            }
        }
    }

如果这不是您想要的,请提供您的输入文档和您期望得到的结果文档,我们会做进一步的调查。你可以通过邮件将其发送给我们(support@e-iceblue.com)。

Sincerely,
Rachel
E-iceblue support team
User avatar

rachel.lei
 
Posts: 1571
Joined: Tue Jul 09, 2019 2:22 am

Wed Mar 18, 2020 11:12 am

原来我将stylename弄错了,谢谢你提供的答案,解决了我的问题; :D :D

Liyuanyuan
 
Posts: 13
Joined: Tue Mar 17, 2020 1:12 pm

Thu Mar 19, 2020 1:35 am

您好,

很高兴帮到了您。
如果您后面遇到了与我们产品相关的任何问题,欢迎随时与我们联系。
祝您一切顺利!

Sincerely,
Rachel
E-iceblue support team
User avatar

rachel.lei
 
Posts: 1571
Joined: Tue Jul 09, 2019 2:22 am

Return to Spire.Doc