• Word控件Spire.Doc 【文本】教程(8) ;如何在 C#、VB.NET 中的确切位置将文本插入 Word


    我们的一位客户要求将文本插入到 Word 文档的准确位置(水平和垂直坐标)。通常,人们使用表格和文本框等其他工具在 Word 文档中定位文本,因为表格和文本框的定位更容易控制。在本文中,我们将介绍如何在 C#、VB.NET 中通过文本框在 Word 中定位文本。

    Spire.Doc for.NET 最新下载(qun:767755948)https://www.evget.com/product/3368/download

    首先下载 Spire.Doc for .NET 并将 dll 文件引用到您的项目中。在我们开始编码之前,我们还需要额外添加以下命名空间。

    using System.Drawing;
    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    using Spire.Doc.Formatting;

    代码片段:

    第 1 步:创建一个新的 Word 文档,为其添加一个节,然后在该节上添加一个段落。

    Document doc = new Document();
    Section sec = doc.AddSection();
    Paragraph par = sec.AddParagraph();

    第 2 步:在段落中添加一个新的文本框。这里我们在逻辑上将VerticalOriginHorizo ntalOrigin 设置为Margin因为水平和垂直坐标是相对于他的参考对象的值。通过给变量VerticalPositionHorizontalPosition一个特定的值,文本框将固定在该位置。

    TextBox textBox = par.AppendTextBox(180, 30);
    textBox.Format.VerticalOrigin = VerticalOrigin.Margin;
    textBox.Format.VerticalPosition = 100;
    textBox.Format.HorizontalOrigin = HorizontalOrigin.Margin;
    textBox.Format.HorizontalPosition = 50;
    textBox.Format.NoLine = true;

    第 3 步:定义新的格式样式。

    CharacterFormat format = new CharacterFormat(doc);
    format.FontName = "Calibri";
    format.FontSize = 15;
    format.Bold = true;

    第 4 步:将文本添加到文本框中,并将预设格式应用于文本。

    Paragraph par1 = textBox.Body.AddParagraph();
    par1.AppendText("This is my new string").ApplyCharacterFormat(format);

    第 5 步:保存文件。

    doc.SaveToFile("result.docx", FileFormat.Docx);

    结果

    文本框的边框线已设置为不可见,因此我们只能看到在指定的水平和垂直坐标处添加的文本。

    完整代码

    [C#]

    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    using Spire.Doc.Formatting;
    using System.Collections.Generic;
    namespace InsertText
    {
    
    class Program
    {
    static void Main(string[] args)
    {
    Document doc = new Document();
    Section sec = doc.AddSection();
    Paragraph par = sec.AddParagraph();
    
    TextBox textBox = par.AppendTextBox(180, 30);
    textBox.Format.VerticalOrigin = VerticalOrigin.Margin;
    textBox.Format.VerticalPosition = 100;
    textBox.Format.HorizontalOrigin = HorizontalOrigin.Margin;
    textBox.Format.HorizontalPosition = 50;
    textBox.Format.NoLine = true;
    
    CharacterFormat format = new CharacterFormat(doc);
    format.FontName = "Calibri";
    format.FontSize = 15;
    format.Bold = true;
    
    Paragraph par1 = textBox.Body.AddParagraph();
    par1.AppendText("This is my new string").ApplyCharacterFormat(format);
    doc.SaveToFile("result.docx", FileFormat.Docx);
    }
    }
    }
    

    [VB.NET]

    Imports Spire.Doc
    Imports Spire.Doc.Documents
    Imports Spire.Doc.Fields
    Imports Spire.Doc.Formatting
    Imports System.Collections.Generic
    Namespace InsertText
    
    Class Program
    Private Shared Sub Main(args As String())
    Dim doc As New Document()
    Dim sec As Section = doc.AddSection()
    Dim par As Paragraph = sec.AddParagraph()
    
    Dim textBox As TextBox = par.AppendTextBox(180, 30)
    textBox.Format.VerticalOrigin = VerticalOrigin.Margin
    textBox.Format.VerticalPosition = 100
    textBox.Format.HorizontalOrigin = HorizontalOrigin.Margin
    textBox.Format.HorizontalPosition = 50
    textBox.Format.NoLine = True
    
    Dim format As New CharacterFormat(doc)
    format.FontName = "Calibri"
    format.FontSize = 15
    format.Bold = True
    
    Dim par1 As Paragraph = textBox.Body.AddParagraph()
    par1.AppendText("This is my new string").ApplyCharacterFormat(format)
    doc.SaveToFile("result.docx", FileFormat.Docx)
    End Sub
    End Class
    End Namespace

  • 相关阅读:
    我赢助手之爆款内容创作:爆款内容的底层逻辑,检查下自己的内容是否符合呢?
    MyBatis-XML映射文件
    LeetCode 1345. 跳跃游戏 IV (bfs+哈希表)
    第四章 路由基础
    app开发者提升第四季度广告收入的方法
    PTA 7-6 数据类型判断(c++)
    2020年12月大学英语六级作文(二)
    jetson设置
    docker常用软件安装
    bf16 和fp16 ,fp32的区别以及相互转换逻辑
  • 原文地址:https://blog.csdn.net/m0_67129275/article/details/127612255