C#设置Word文本框中改变文字方向的方法

在Word中可插入文本框,默认情况下插入的文本框中的文字方向为横向排列,对于一些特殊文档的设计要求,需要改变文字方向,如本次测试中的文档排版为考生试卷类型,考生信息栏的内容为下图中的这种,

本文将以C#程序代码为例,展示如何来实现这种排版。另附VB.NET代码供参考。

测试程序环境如下:

  • Visual Studio 2017
  • .net framework 4.8
  • Free spire.doc.dll 7.11
  • 测试word文档:.docx2013

关于dll安装:在程序中通过nuget搜索Free Spire.Doc安装即可。

设置文字方向时,可支持多种方式,如图:

本次需要实现的目标格式使用LeftToRight类型即可,如需设置竖排显示则选择LeftToRightRotated类型,其他文字旋转类型同理。

C#

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

namespace SetTextDirection
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化document对象
            Document doc = new Document();

            //添加一个section
            Section section = doc.AddSection();

            //设置页面边距
            section.PageSetup.Margins.Left = 90;
            section.PageSetup.Margins.Right = 90;
            Paragraph paragraph = section.AddParagraph();

            //添加第一个文本框
            TextBox textBox1 = paragraph.AppendTextBox(section.PageSetup.Margins.Left - 20, section.PageSetup.PageSize.Height + 20);

            //设置文本框为固定定位
            textBox1.Format.HorizontalOrigin = HorizontalOrigin.Page;
            textBox1.Format.HorizontalPosition = 0;
            textBox1.Format.VerticalPosition = -10f;
            textBox1.Format.VerticalOrigin = VerticalOrigin.Page;

            //设置文字旋转方向
            textBox1.Format.TextAnchor = ShapeVerticalAlignment.Center;
            textBox1.Format.LayoutFlowAlt = TextDirection.LeftToRight;//旋转文字方向
            //textBox1.Format.LayoutFlowAlt = TextDirection.LeftToRightRotated;//竖排显示       

            //添加文字并设置字体
            Paragraph textboxPara1 = textBox1.Body.AddParagraph();
            TextRange txtrg = textboxPara1.AppendText("姓名______________学号______________班级______________");
            txtrg.CharacterFormat.FontName = "等线";
            txtrg.CharacterFormat.FontSize = 10;
            txtrg.CharacterFormat.TextColor = Color.Black;
            textboxPara1.Format.HorizontalAlignment = HorizontalAlignment.Center;

            //保存文档
            doc.SaveToFile("Result.docx",FileFormat.Docx2013);
            System.Diagnostics.Process.Start("Result.docx");
        }
    }
}

VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports Spire.Doc.Fields
Imports System.Drawing

Namespace SetTextDirection
 Class Program
 Private Shared Sub Main(args As String())
 '实例化document对象
 Dim doc As New Document()

 '添加一个section
 Dim section As Section = doc.AddSection()

 '设置页面边距
 section.PageSetup.Margins.Left = 90
 section.PageSetup.Margins.Right = 90
 Dim paragraph As Paragraph = section.AddParagraph()


 '添加第一个文本框
 Dim textBox1 As TextBox = paragraph.AppendTextBox(section.PageSetup.Margins.Left - 20, section.PageSetup.PageSize.Height + 20)

 '设置文本框为固定定位
 textBox1.Format.HorizontalOrigin = HorizontalOrigin.Page
 textBox1.Format.HorizontalPosition = 0
 textBox1.Format.VerticalPosition = -10F
 textBox1.Format.VerticalOrigin = VerticalOrigin.Page


 '设置文字旋转方向
 textBox1.Format.TextAnchor = ShapeVerticalAlignment.Center
 textBox1.Format.LayoutFlowAlt = TextDirection.LeftToRight'旋转文字方向
 'textBox1.Format.LayoutFlowAlt = TextDirection.LeftToRightRotated; '竖排显示


 '添加文字并设置字体
 Dim textboxPara1 As Paragraph = textBox1.Body.AddParagraph()
 Dim txtrg As TextRange = textboxPara1.AppendText("姓名______________学号______________班级______________")
 txtrg.CharacterFormat.FontName = "等线"
 txtrg.CharacterFormat.FontSize = 10
 txtrg.CharacterFormat.TextColor = Color.Black
 textboxPara1.Format.HorizontalAlignment = HorizontalAlignment.Center


 '保存文档
 doc.SaveToFile("Result.docx", FileFormat.Docx2013)
 System.Diagnostics.Process.Start("Result.docx")
 End Sub
 End Class
End Namespace

到此这篇关于C#设置Word文本框中改变文字方向的方法的文章就介绍到这了,更多相关C# Word改变文字方向内容请搜索179885.Com以前的文章或继续浏览下面的相关文章希望大家以后多多支持179885.Com!

猜你在找的C#设置Word文本框中改变文字方向的方法相关文章

在Word中可插入文本框,默认情况下插入的文本框中的文字方向为横向排列,对于一些特殊文档的设计要求,需要改变文字方向,本文就详细的介绍一下使用,感兴趣的可以了解一下
这篇文章详细的讲解了如何从0开发出一个Unity3D的小游戏愤怒的小鸟,本文包含大量的图片与文字描述,也含有大量的源代码,可以让你快速入手,希望本篇文章对你有所帮
这个简单的飞行棋游戏主要是讲的方法怎么应用,充分的去理解方法和方法的调用。整体收获还是很大的。感兴趣的朋友可以参考下
本文介绍如何通过C# 程序来扫描并读取图片中的文字,这里以创建一个.Net Core程序为例。下面是具体步骤,供参考。有此需求的朋友可以了解下
这篇文章重点给大家介绍C#实现读写文本文件中的数据的一些知识,读取.txt文件数据的实例代码及写入读取过程完整代码,感兴趣的朋友跟随小编一起看看吧
在Unity中,脚本可以理解为附加在游戏对象上的用于定义游戏对象行为的指令代码。必须绑定在游戏对象上才能开始它的生命周期。游戏对象可以理解为能容纳各种组件的
Task.Delay(),async/await和CancellationTokenSource组合起来使用可以实现可控制的异步延迟。本文通过多种代码案例给大家分析C#中的Task.Delay()和Thread.Sleep()
本文将结合实例代码,介绍C#多线程处理多个队列数据的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要给大家介绍了关于C#中实现登录功能的相关资料,我们在使用C#做项目的时候,基本上都需要制作登录界面,需求的大佬可以参考下
这篇文章主要为大家详细介绍了Unity实现切割图集工具,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家详细介绍了Unity UI实现拖拽旋转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
最近学习unity3d做游戏,总结了一些实用的内容,所以下面这篇文章主要给大家介绍了关于Unity查找游戏物体的六种方式,需求的大佬可以参考下