Word 文档中的文本框是可移动、可调整大小的文本或图形容器。你可以将文本框作为边注或强调部分插入 Word 文档中,也可将其作为标题或引用部分。有时文档中也会出现一些杂乱错误的文本框,这时就需要删除这些文本框以提升文档的严谨性及美观度。本文将介绍如何使用 Spire.Doc for .NET 以编程的方式在 Word 文档中插入或移除文本框。
安装 Spire.Doc for .NET
首先,您需要将 Spire.Doc for.NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.Doc
在 Word 文档中插入文本框
Spire.Doc for .NET 提供了 Paragraph.AppendTextBox(float width, float height) 方法用于插入文本框到指定段落。同时还提供了 TextBox 类用于插入文本框后,通过属性设置其格式,包含 Format、Body 等属性。详细操作步骤如下:
- 创建 Document 类的对象,并使用 Document.LoadFromFile() 方法载入 Word 文档。
- 使用 Document.Sections[] 属性获取文档第一节,然后使用 Section.Paragraph[] 属性获取一个段落。
- 使用 Paragraph.AppendTextBox(float width, float height) 方法在该段落中添加一个文本框。
- 使用 TextBox.Format 属性获取文本框的格式,然后使用 TextBoxFormat 类下的属性设置文本框的文字环绕方式、位置、边框颜色及填充颜色。
- 使用 TextBox.Body.AddParagraph() 方法在文本框中添加一个段落并设置其对齐方式。
- 使用 Paragraph.AppendPicture() 方法在该段落中插入一张图片并设置其大小。
- 使用 Paragraph.AppendText() 方法在该段落中插入文本并设置其字体。
- 使用 Document.SaveToFile() 方法保存文档。
- C#
- VB.NET
using System;
using System.Drawing;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace InsertTextBox
{
internal class Program
{
static void Main(string[] args)
{
//创建 Document 类的对象
Document document = new Document();
//载入Word文档
document.LoadFromFile(@"C:\示例.docx");
//插入一个文本框并设置文字环绕方式
TextBox TB = document.Sections[0].Paragraphs[0].AppendTextBox(130, 290);
TB.Format.TextWrappingStyle = TextWrappingStyle.Square;
//设置文本框位置
TB.Format.HorizontalOrigin = HorizontalOrigin.RightMarginArea;
TB.Format.HorizontalPosition = -140;
TB.Format.VerticalOrigin = VerticalOrigin.Page;
TB.Format.VerticalPosition = 130f;
//设置文本框边框颜色及填充颜色
TB.Format.LineColor = Color.DarkBlue;
TB.Format.FillColor = Color.LightCyan;
//在文本框中添加一个段落并插入图片
Paragraph para = TB.Body.AddParagraph();
DocPicture picture = para.AppendPicture(@"C:\Decatur.jpeg");
//设置段落对齐方式
para.Format.HorizontalAlignment = HorizontalAlignment.Center;
//设置图片大小
picture.Height = 90;
picture.Width = 90;
//在文本框中插入文本
TextRange TR = para.AppendText("《迪凯特登上黎波里亚炮艇》(1841年),作者是丹尼斯•马龙•卡特。"
+ "对1804年8月3日事件的描述;中间的旗帜是对巴巴里海盗使用的旗帜的曲解性幻想。");
//设置文本段落的对齐方式
para.Format.HorizontalAlignment = HorizontalAlignment.Center;
//设置文本字体格式
TR.CharacterFormat.FontName = "Times New Roman";
TR.CharacterFormat.FontSize = 12;
TR.CharacterFormat.Italic = true;
//保存文档
document.SaveToFile("插入文本框.docx", FileFormat.Docx);
}
}
}
Imports System
Imports System.Drawing
Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Namespace InsertTextBox
Friend Class Program
Shared Sub Main(ByVal args() As String)
'创建 Document 类的对象
Dim document As Document = New Document()
'载入Word文档
document.LoadFromFile("C:\示例.docx")
'插入一个文本框并设置文字环绕方式
Dim TB As TextBox = document.Sections(0).Paragraphs(0).AppendTextBox(130, 290)
TB.Format.TextWrappingStyle = TextWrappingStyle.Square
'设置文本框位置
TB.Format.HorizontalOrigin = HorizontalOrigin.RightMarginArea
TB.Format.HorizontalPosition = -140
TB.Format.VerticalOrigin = VerticalOrigin.Page
TB.Format.VerticalPosition = 130.0F
'设置文本框边框颜色及填充颜色
TB.Format.LineColor = Color.DarkBlue
TB.Format.FillColor = Color.LightCyan
'在文本框中添加一个段落并插入图片
Dim para As Paragraph = TB.Body.AddParagraph()
Dim picture As DocPicture = para.AppendPicture("C:\Decatur.jpeg")
'设置段落对齐方式
para.Format.HorizontalAlignment = HorizontalAlignment.Center
'设置图片大小
picture.Height = 90
picture.Width = 90
'在文本框中插入文本
Dim TR As TextRange = para.AppendText("《迪凯特登上黎波里亚炮艇》(1841年),作者是丹尼斯-马龙-卡特。" +
"对1804年8月3日事件的描述;中间的旗帜是对巴巴里海盗使用的旗帜的曲解性幻想。")
'设置文本段落的对齐方式
para.Format.HorizontalAlignment = HorizontalAlignment.Center
'设置文本字体格式
TR.CharacterFormat.FontName = "Times New Roman"
TR.CharacterFormat.FontSize = 12
TR.CharacterFormat.Italic = True
'保存文档
document.SaveToFile("插入文本框.docx", FileFormat.Docx)
End Sub
End Class
End Namespace
删除 Word 文档中的文本框
Spire.Doc for .NET 中包含 Document.TextBoxes.RemoveAt(int index) 方法,可以删除指定的文本框。另外,也可以用 Document.TextBoxes.Clear() 方法删除所有的文本框。以下是删除指定文本框的详细操作步骤:
- 创建 Document 类的对象。
- 使用 Document.LoadFromFile() 方法载入 Word 文档。
- 使用 Document.TextBoxes.RemoveAt(int index) 方法删除第一个文本框。
- 使用 Document.SaveToFile() 方法保存文档。
- C#
- VB.NET
using System;
using Spire.Doc;
namespace RemoveTextBox
{
internal class Program
{
static void Main(string[] args)
{
//创建 Document 类的对象
Document Doc = new Document();
//载入Word文档
Doc.LoadFromFile(@"C:\示例.docx");
//移除第一个文本框
Doc.TextBoxes.RemoveAt(0);
//移除所有文本框
//Doc.TextBoxes.Clear();
//保存文档
Doc.SaveToFile("移除文本框.docx", FileFormat.Docx);
}
}
}
Imports System
Imports Spire.Doc
Namespace RemoveTextBox
Friend Class Program
Shared Sub Main(ByVal args() As String)
'创建 Document 类的对象
Dim Doc As Document = New Document()
'载入Word文档
Doc.LoadFromFile("C:\示例.docx")
'移除第一个文本框
Doc.TextBoxes.RemoveAt(0)
'移除所有文本框
'Doc.TextBoxes.Clear();
'保存文档
Doc.SaveToFile("移除文本框.docx", FileFormat.Docx)
End Sub
End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。