/// <summary> /// 设置行间距 /// </summary> /// <param name="rowSpaceing"></param> private WdLineSpacing setRowSpaceing(RowSpaceing rowSpaceing) { if (rowSpaceing == RowSpaceing.单倍行距) { return(Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceSingle); } else if (rowSpaceing == RowSpaceing.二分之三倍行距) { return(Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpace1pt5); } else if (rowSpaceing == RowSpaceing.两倍行距) { return(Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceDouble); } else { return(Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpace1pt5); } }
/// <summary> /// 设置行间距 /// </summary> /// <param name="rowSpaceing"></param> private WdLineSpacing setRowSpaceing(RowSpaceing rowSpaceing) { if (rowSpaceing == RowSpaceing.单倍行距) { return Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceSingle; } else if (rowSpaceing == RowSpaceing.二分之三倍行距) { return Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpace1pt5; } else if (rowSpaceing == RowSpaceing.两倍行距) { return Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceDouble; } else { return Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpace1pt5; } }
/// <summary> /// 插入标题 /// </summary> /// <param name="titleText">标题内容</param> /// <param name="textStyle">标题级别</param> /// <param name="alignment">标题对齐方式</param> /// <param name="rowSpaceing">标题行距</param> public void InsertTitle(string bookmark, string titleText, TextStyle textStyle, Alignment alignment, RowSpaceing rowSpaceing) { object oBookmark = bookmark; object range = oDoc.Bookmarks.get_Item(ref oBookmark).Range; //Word段落 Word.Paragraph p; p = oDoc.Content.Paragraphs.Add(ref range); //设置段落中的内容文本 p.Range.Text = titleText; //设置为一号标题 object style = SetTextStyle(textStyle); p.set_Style(ref style); System.Drawing.Font font = setFont(textStyle); p.Range.Font.Name = font.Name; p.Range.Font.Size = font.Size; if (font.Style == FontStyle.Bold) { p.Range.Font.Bold = 1; }; p.Format.SpaceBefore = 0; p.Format.SpaceAfter = 0; p.Format.Alignment = SetAlignment(alignment); p.Format.LineSpacingRule = setRowSpaceing(rowSpaceing); //添加到末尾 p.Range.InsertParagraphAfter(); //在应用 InsertParagraphAfter 方法之后,所选内容将扩展至包括新段落。 }
/// <summary> /// 插入段落 /// </summary> /// <param name="bookmark">位置标签</param> /// <param name="paraText">段落内容</param> /// <param name="textStyle">内容级别</param> /// <param name="rowSpaceing">行间距</param> /// <param name="indent">首行缩进(字符)</param> /// <param name="indent"></param> public void insertParagraph(string bookmark, string paraText, TextStyle textStyle, RowSpaceing rowSpaceing, int indent) { object oBookmark = bookmark; object range = oDoc.Bookmarks.get_Item(ref oBookmark).Range; Word.Paragraph oPara; oPara = oDoc.Content.Paragraphs.Add(ref range); oPara.Range.Text = paraText; //设置段落字体格式 System.Drawing.Font font = setFont(textStyle); oPara.Range.Font.Name = font.Name; oPara.Range.Font.Size = font.Size; if (font.Style == FontStyle.Bold) { oPara.Range.Font.Bold = 1; } oPara.Format.SpaceBefore = 0; oPara.Format.SpaceAfter = 0;//24 pt spacing after paragraph. // oPara.Format.FirstLineIndent = oWord.CentimetersToPoints(24f); oPara.Format.CharacterUnitFirstLineIndent = indent;//首行缩进2字符 oPara.Format.Alignment = WdParagraphAlignment.wdAlignParagraphLeft; oPara.Format.LineSpacingRule = setRowSpaceing(rowSpaceing); // oPara.Range.InsertParagraphAfter(); }
/// <summary> /// 插入标题 /// </summary> /// <param name="titleText">标题内容</param> /// <param name="textStyle">标题级别</param> /// <param name="alignment">标题对齐方式</param> /// <param name="rowSpaceing">标题行距</param> public void InsertTitle(string bookmark, string titleText, TextStyle textStyle, Alignment alignment, RowSpaceing rowSpaceing) { object oBookmark = bookmark; object range = oDoc.Bookmarks.get_Item(ref oBookmark).Range; //Word段落 Word.Paragraph p; p = oDoc.Content.Paragraphs.Add(ref range); //设置段落中的内容文本 p.Range.Text = titleText; //设置为一号标题 object style = SetTextStyle(textStyle); p.set_Style(ref style); System.Drawing.Font font = setFont(textStyle); p.Range.Font.Name = font.Name; p.Range.Font.Size = font.Size; if (font.Style == FontStyle.Bold) { p.Range.Font.Bold = 1; } ; p.Format.SpaceBefore = 0; p.Format.SpaceAfter = 0; p.Format.Alignment = SetAlignment(alignment); p.Format.LineSpacingRule = setRowSpaceing(rowSpaceing); //添加到末尾 p.Range.InsertParagraphAfter(); //在应用 InsertParagraphAfter 方法之后,所选内容将扩展至包括新段落。 }
/// <summary> /// 插入段落 /// </summary> /// <param name="bookmark">位置标签</param> /// <param name="paraText">段落内容</param> /// <param name="textStyle">内容级别</param> /// <param name="rowSpaceing">行间距</param> /// <param name="indent">首行缩进(字符)</param> /// <param name="indent"></param> public void insertParagraph(string bookmark, string paraText, TextStyle textStyle, RowSpaceing rowSpaceing, int indent) { object oBookmark = bookmark; object range = oDoc.Bookmarks.get_Item(ref oBookmark).Range; Word.Paragraph oPara; oPara = oDoc.Content.Paragraphs.Add(ref range); oPara.Range.Text = paraText; //设置段落字体格式 System.Drawing.Font font = setFont(textStyle); oPara.Range.Font.Name = font.Name; oPara.Range.Font.Size = font.Size; if (font.Style == FontStyle.Bold) { oPara.Range.Font.Bold = 1; } oPara.Format.SpaceBefore = 0; oPara.Format.SpaceAfter = 0; //24 pt spacing after paragraph. // oPara.Format.FirstLineIndent = oWord.CentimetersToPoints(24f); oPara.Format.CharacterUnitFirstLineIndent = indent; //首行缩进2字符 oPara.Format.Alignment = WdParagraphAlignment.wdAlignParagraphLeft; oPara.Format.LineSpacingRule = setRowSpaceing(rowSpaceing); // oPara.Range.InsertParagraphAfter(); }