Beispiel #1
0
        /// <summary>
        /// 使用spire设置文本格式
        /// </summary>
        /// <param name="myts"></param>
        /// <param name="f"></param>
        public void FormatSet(TextSelection[] myts, Format f)
        {
            //如果该格式未启用,不执行任何方法
            if (!f.enable || myts == null)
            {
                return;
            }
            for (int i = 0; i < myts.Length; i++)
            {
                //得到文本区域
                TextRange mytr = myts[i].GetAsOneRange();

                //设置字体名称
                mytr.CharacterFormat.FontName = f.fontname;
                //设置字体大小
                mytr.CharacterFormat.FontSize = f.fontsize;
                //设置粗体
                mytr.CharacterFormat.Bold = f.bold == 1 ? true : false;
                //设置行距
                switch (f.lstype)
                {
                case "单倍行距":
                    mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.AtLeast;
                    break;

                case "1.5倍行距":
                    mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.Exactly;
                    break;

                case "2倍行距":
                    mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.Multiple;
                    break;

                default:
                    mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.Exactly;
                    mytr.OwnerParagraph.Format.LineSpacing     = f.lsvalue;
                    break;
                }
                //设置居中
                switch (f.juzhong)
                {
                case "左对齐":
                    mytr.OwnerParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Left;
                    break;

                case "居中":
                    mytr.OwnerParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Center;
                    break;

                case "右对齐":
                    mytr.OwnerParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
                    break;
                }
                //设置空行

                //设置缩进
                Spire.Doc.Formatting.ParagraphFormat mypformat = new Spire.Doc.Formatting.ParagraphFormat();
                float suojin = mytr.OwnerParagraph.Format.FirstLineIndent;
                if (suojin == 0)
                {
                    mytr.OwnerParagraph.Format.FirstLineIndent = f.suojin;
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// 使用spire设置文本格式
        /// </summary>
        /// <param name="myts"></param>
        /// <param name="f"></param>
        public void FormatSet(TextSelection myts, Format f)
        {
            //如果该格式未启用,不执行任何方法
            if (!f.enable || myts == null || myts.Count == 0)
            {
                return;
            }

            //得到文本区域
            TextRange mytr = myts.GetAsOneRange();

            //设置字体名称
            mytr.CharacterFormat.FontName = f.fontname;
            //设置字体大小
            mytr.CharacterFormat.FontSize = f.fontsize;
            //设置粗体
            mytr.CharacterFormat.Bold = f.bold == 1 ? true : false;
            //设置行距
            switch (f.lstype)
            {
            case "单倍行距":
                mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.AtLeast;
                break;

            case "1.5倍行距":
                mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.Exactly;
                break;

            case "2倍行距":
                mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.Multiple;
                break;

            default:
                mytr.OwnerParagraph.Format.LineSpacingRule = Spire.Doc.LineSpacingRule.Exactly;
                mytr.OwnerParagraph.Format.LineSpacing     = f.lsvalue;
                break;
            }
            //设置居中
            switch (f.juzhong)
            {
            case "左对齐":
                mytr.OwnerParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Left;
                break;

            case "居中":
                mytr.OwnerParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Center;
                break;

            case "右对齐":
                mytr.OwnerParagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
                break;
            }
            //先删除空格

            //增加空行
            int spacenum = f.space;

            for (int spaceindex = 0; spaceindex < spacenum; spaceindex++)
            {
                mytr.OwnerParagraph.AppendText("\n");
            }
            //设置缩进
            Spire.Doc.Formatting.ParagraphFormat mypformat = new Spire.Doc.Formatting.ParagraphFormat();
            mytr.OwnerParagraph.Format.FirstLineIndent = f.suojin;
        }