C#向Word插入排版精良的TextBox_C#教程

Text Box(文本框)是Word排版的工具之一。在Word文档正文的任何地方插入文本框,可添加补充信息,放在合适的位置,也不会影响正文的连续性。我们可以设置文本框的大小,线型,内部边距,背景填充等效果。文本框内可以图文混排,设置字体,字号,图片大小等。 在日常使用中,我们很容易忽略这些元素,仅仅插入一个黑色单线,仅含文字的文本框。因而,我觉得有必要向大家介绍并制作一个版式精良的文本框,抛砖引玉。

本篇博文主要介绍,如何使用C#在Word文档的特定位置,插入一个有图片填充,内部边距,图文混排,线型精致的文本框。感兴趣的博友请从E-iceblue下载Free Spire.Doc,并添加为Visual Studio引用。

需要用的命名空间:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;
using System.Drawing;

 

步骤详解:

步骤一:加载一个只含有文本的Word文档,如下图。

 Document document = new Document();
 document.LoadFromFile("李白生平.docx"); 

 步骤二:在加载的Word文档中添加一个文本框,并设定其具体位置。这里需要考虑两点:插入的页和页面的位置。即:在哪一页插入这个文本框,文本框在该页的位置。只有定位好这两点,文本框的位置才能具体确认。此外,还需考虑文本框和文本的位置关系,即设置位置和自动换行(text wrapping)。所以,以下代码,通过设定文本框在哪一段落,相较于页面的位置和自动换行,来确定其位置。 

 TextBox TB = document.Sections[0].Paragraphs[0].AppendTextBox(150, 300);
 TB.Format.HorizontalOrigin = HorizontalOrigin.Page;
 TB.Format.HorizontalPosition = 370;
 TB.Format.VerticalOrigin = VerticalOrigin.Page;
 TB.Format.VerticalPosition = 155;

 TB.Format.TextWrappingStyle = TextWrappingStyle.Square;
 TB.Format.TextWrappingType = TextWrappingType.Both; 

步骤三:设置文本框框的颜色,内部边距,图片填充。

TB.Format.LineStyle = TextBoxLineStyle.Double;
TB.Format.LineColor = Color.LightGoldenrodYellow;
TB.Format.LineDashing = LineDashing.Solid;
TB.Format.LineWidth = 3;

TB.Format.InternalMargin.Top = 12;
TB.Format.InternalMargin.Bottom = 8;
TB.Format.InternalMargin.Left = 12;
TB.Format.InternalMargin.Right = 12;

TB.Format.FillEfects.Type = BackgroundType.Picture;
TB.Format.FillEfects.Picture = Image.FromFile("2.jpg");

 

步骤四:在文本框内添加段落文本,图片,设置字体,字体颜色,行间距,段后距,对齐方式等。然后保存文档,打开查看效果。

      Paragraph para1 = TB.Body.AddParagraph();
      para1.Format.AfterSpacing = 6;
      para1.Format.HorizontalAlignment = HorizontalAlignment.Center;
      TextRange TR1 = para1.AppendText("李白");
      TR1.CharacterFormat.FontName = "华文新魏";
      TR1.CharacterFormat.FontSize = 16;
      TR1.CharacterFormat.Bold = true;

      Paragraph para2 = TB.Body.AddParagraph();
      Image image = Image.FromFile("李白.jpg");
      DocPicture picture = para2.AppendPicture(image);
      picture.Width = 120;
      picture.Height = 160;
      para2.Format.AfterSpacing = 8;
      para2.Format.HorizontalAlignment = HorizontalAlignment.Center;

      Paragraph para3 = TB.Body.AddParagraph();
      TextRange TR2 = para3.AppendText("盛唐最杰出的诗人,中国历史最伟大的浪漫主义诗人杜甫赞其文章“笔落惊风雨,诗成泣鬼神”");
      TR2.CharacterFormat.FontName = "华文新魏";
      TR2.CharacterFormat.FontSize = 11;
      para3.Format.LineSpacing = 15;
      para3.Format.HorizontalAlignment = HorizontalAlignment.Left;
      para3.Format.SuppressAutoHyphens = true;

      document.SaveToFile("R1.docx");
      System.Diagnostics.Process.Start("R1.docx");

 

效果图:

 

完整代码示例: 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;
using System.Drawing;

namespace textbox
{
  class Program
  {
    static void Main(string[] args)
    {
      Document document = new Document();
      document.LoadFromFile("李白生平.docx");

      TextBox TB = document.Sections[0].Paragraphs[0].AppendTextBox(150, 300);
      TB.Format.HorizontalOrigin = HorizontalOrigin.Page;
      TB.Format.HorizontalPosition = 370;
      TB.Format.VerticalOrigin = VerticalOrigin.Page;
      TB.Format.VerticalPosition = 155;

      TB.Format.TextWrappingStyle = TextWrappingStyle.Square;
      TB.Format.TextWrappingType = TextWrappingType.Both;

      TB.Format.LineStyle = TextBoxLineStyle.Double;
      TB.Format.LineColor = Color.LightGoldenrodYellow;
      TB.Format.LineDashing = LineDashing.Solid;
      TB.Format.LineWidth = 3;

      TB.Format.InternalMargin.Top = 12;
      TB.Format.InternalMargin.Bottom = 8;
      TB.Format.InternalMargin.Left = 12;
      TB.Format.InternalMargin.Right = 12;

      TB.Format.FillEfects.Type = BackgroundType.Picture;
      TB.Format.FillEfects.Picture = Image.FromFile("2.jpg");

      Paragraph para1 = TB.Body.AddParagraph();
      para1.Format.AfterSpacing = 6;
      para1.Format.HorizontalAlignment = HorizontalAlignment.Center;
      TextRange TR1 = para1.AppendText("李白");
      TR1.CharacterFormat.FontName = "华文新魏";
      TR1.CharacterFormat.FontSize = 16;
      TR1.CharacterFormat.Bold = true;

      Paragraph para2 = TB.Body.AddParagraph();
      Image image = Image.FromFile("李白.jpg");
      DocPicture picture = para2.AppendPicture(image);
      picture.Width = 120;
      picture.Height = 160;
      para2.Format.AfterSpacing = 8;
      para2.Format.HorizontalAlignment = HorizontalAlignment.Center;

      Paragraph para3 = TB.Body.AddParagraph();
      TextRange TR2 = para3.AppendText("盛唐最杰出的诗人,中国历史最伟大的浪漫主义诗人杜甫赞其文章“笔落惊风雨,诗成泣鬼神”");
      TR2.CharacterFormat.FontName = "华文新魏";
      TR2.CharacterFormat.FontSize = 11;
      para3.Format.LineSpacing = 15;
      para3.Format.HorizontalAlignment = HorizontalAlignment.Left;
      para3.Format.SuppressAutoHyphens = true;

      document.SaveToFile("R1.docx");
      System.Diagnostics.Process.Start("R1.docx");

    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索word
, c#
textbox
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-10-26 12:09:38

C#向Word插入排版精良的TextBox_C#教程的相关文章

如何免费搞定Word公式排版

  Word中排版如果涉及到公式,有的人因对Word自身的公式编辑器排版效果不满意,借助于专用的公式编辑器MathType来制作公式,然而这个编辑器也不是白给的--   这优惠价给的,不动用公款,你舍得为个公式掏自己的腰包吗?况且有人发现用了这个公式编辑器后,Word中的公式排版效果依然不好控制.那么原因何在呢?其实,对Word本身的排版控制细节没有掌握好,是导致公式排版难的主要原因.如果掌握的了必要的排版技巧,Word中照样可排好公式. ● 公式上浮 Word就能搞定 排版过程中遇到的公式上浮

Word横向排版及Word横纵混合排版的方法技巧【图】

大家在制作word文档的时候,有时候要word横过来的情况,需要将其中的某些页面设置为其它页面方向不同,今天就把Word横向排版的方法给大家分享下,希望对大家有用. 本文中的演示均在word 2007下完成. 单个Word文档页面横向排版 打开Word文档,把光标定位在该页面,在工具栏中的[页面布局]的[页面设置]模块下,找到[纸张方向],在下拉菜单里选择[横向]即可.   这样页面就横过来了,打印的纸张内容也是横向的,继续往下加入的内容也都是横版的了. 多个Word文档页面实现横纵混排 如果多

Word插入图片和剪贴画

在Word里,插入图片可用菜单命令来实现,比较简单. Word插入图片 1 切换工具面板 运行Word 2007,默认地,打开的工具面板在"开始"之下.单击"插入"切换到"插入"面板,单击"图片"按钮. 2 选择并插入图片 在下图所示的对话框中,左边显示的是"计算机"或各文件夹快捷方式,单击可一层一层地打开,直到找到要插入的图片为止.打开的文件中所有图片将 以缩略图的形式显示在右边的窗口中,方便我们预览并进

word图片排版的出血概念

在WORD图片排版中,或者是在印刷排版,通常会遇到一个专业术语,那就是出血. 很多人不明白排版出血是啥意思,下面,就给大家详细介绍排版中的出血是啥概念. 出血也是一种印刷业的术语. 纸质印刷品所谓的"出血"是指,超出版心部分印刷. 版心是在排版过程中统一确定的文图所在的区域,上下左右都会留白(如word的四方页边距就是留白),但是在纸质印刷品中,有时为了取得较好的视觉效果,会把文字或图片(大部分是图片)超出版心范围,覆盖到页面边缘,称为"出血图". 印刷中的出血是指

Word插入脚注后分节符自动变成分页符解决办法

Word插入脚注后分节符自动变成分页符解决办法 问题描述: 首页上一部分是单栏,一部分是双栏的话,如果在单栏部分加上一个页面底部的脚注,那么双栏部分立即会跑到下一页去,造成第一页一大片空白.如何 把后面分栏的部分合并到第一页??? 解决方案: 要解决此问题在 Microsoft Office Word 2003 或 Microsoft Word 2002 中,请执行下列步骤: 打开文档. 在 工具 菜单中上, 单击 选项 . 在 兼容性 选项卡上单击以选中 脚注像 Word 6.x/95/97

自动编号-请教vc中word插入编号的实现

问题描述 请教vc中word插入编号的实现 由于之前没做过VC关于word自动化这块,网络上找别人封装好的类也只有写入文本插入图片之类的,但我有一个功能不知道怎么做,希望各位高手能解答下呀,最好能贴一段代码给我呀,搞不大懂word自动化,使用VC哦. 大家实现功能如下,例如我要插入几段文字,假设插入3段,分别是"abc","123","efg",写入word后需要能自动编号,编号可自定义,如下: [1] abc [2] 123; [3] efg;

docx4j 向word插入图片,有大神懂docx4j的吗,求指导。

问题描述 docx4j 向word插入图片,有大神懂docx4j的吗,求指导. package com.cnas.cultivate.controller; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import org.docx4j.dml.wo

word文字排版方法有那几种

1 word中正文的输入 1 1.1 普通文字 1 1.2 上下标及公式的输入 1 ①快捷方式的调出方法 1 ②输入方法 3 1.2 特殊符号的输入 4 1.3 格式刷的使用 5 2 文档排版技巧 5 2.1 设置首行左缩进 5 2.2 设置标题字体.样式(无需生成目录的操作) 6 2.3 打印B4拼页16开文件(带页码格式) 6 2.4 设置标题(可用来生成目录) 7 2.5 自动生成目录 9 2.6 文本框及图文混排技巧 9 3.网页内容复制到word以后的排版及查找替换功能的使用 12 3

word/wps排版格式很乱怎么办 横向/竖向/分割排版实例教程

  很多朋友在使用word/wps文档编辑内容时,都习惯性的使用空格+回车来控制排版,此方法可能会节省不少编辑时间,但在后续的修改过程中,经常使文档格式乱七八糟,调整的时间会大大延长.很多朋友都悔不当初,其实word/wps都有解决排版格式的小技巧,接下来小编将为各位带来"缩进对齐.分割排版.竖向排版"的实例教程,让大家从此远离页面排版混乱的困扰. 缩进对齐 1.使用word或者wps时,你如果调整了文档的字体大小,会发现每个段落的开头并不是空两格了,有时多两格,有时少两格. 2.当我