如何利用C#实现在Word中插入竖排文字
2个回答
展开全部
1.创建打印模板文件(*.dot)
此为关键步骤,在需要竖排的地方,先文字的字体、样式设置后,然后设置文字方向,再选择该段文字,为其插入一个书签(BookMark),并为该书签命名。
2.利用C#打开,替换该书签即可,代码如下:
注意使用以下代码时,需要引入Word库
Word.ApplicationClass App = null; //Word应用程序对象
Word.Document doc = null; //Word文档对象
object missing = System.Reflection.Missing.Value;
object miss=Type.Missing;
if (App==null) App = new Word.ApplicationClass();//创建word对象
App.Visible = false; //设置word不可见
//根据模板创建新文档,不过这个模板文件的名称放置在app.config文件中
object oTemplate = ConfigurationSettings.AppSettings["TemplateOfLetter"];//获取文件名
doc = App.Documents.Add(ref oTemplate, ref missing,ref missing, ref missing);//创建新文档
doc.Activate();//激活文档
Object objBookMark = "姓名";//姓 名 创建书签对象
string name="张三";
doc.Bookmarks.get_Item(ref objBookMark).Range.Text =name;//替换该书签,可为任意值了
//打印输出
doc.PrintOut( ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,
ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,
ref missing,ref missing,ref missing,ref missing,ref missing);
//关闭新创建的文档
object SaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges;//创建关闭选项
if (doc!=null)
doc.Close( ref SaveChanges, ref missing, ref missing);
//退出Word
if (App!=null)
App.Application.Quit(ref miss, ref miss, ref miss);
App=null;
doc = null;
此为关键步骤,在需要竖排的地方,先文字的字体、样式设置后,然后设置文字方向,再选择该段文字,为其插入一个书签(BookMark),并为该书签命名。
2.利用C#打开,替换该书签即可,代码如下:
注意使用以下代码时,需要引入Word库
Word.ApplicationClass App = null; //Word应用程序对象
Word.Document doc = null; //Word文档对象
object missing = System.Reflection.Missing.Value;
object miss=Type.Missing;
if (App==null) App = new Word.ApplicationClass();//创建word对象
App.Visible = false; //设置word不可见
//根据模板创建新文档,不过这个模板文件的名称放置在app.config文件中
object oTemplate = ConfigurationSettings.AppSettings["TemplateOfLetter"];//获取文件名
doc = App.Documents.Add(ref oTemplate, ref missing,ref missing, ref missing);//创建新文档
doc.Activate();//激活文档
Object objBookMark = "姓名";//姓 名 创建书签对象
string name="张三";
doc.Bookmarks.get_Item(ref objBookMark).Range.Text =name;//替换该书签,可为任意值了
//打印输出
doc.PrintOut( ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,
ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,
ref missing,ref missing,ref missing,ref missing,ref missing);
//关闭新创建的文档
object SaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges;//创建关闭选项
if (doc!=null)
doc.Close( ref SaveChanges, ref missing, ref missing);
//退出Word
if (App!=null)
App.Application.Quit(ref miss, ref miss, ref miss);
App=null;
doc = null;
展开全部
设置或更改文字方向,你用Spire.Doc.dll就可以,你可以参考下面的demo,附上全部代码操作步骤。
代码中对设置文字方向分别列了两种情况,
设置整个文字方向
设置部分文字方向
using Spire.Doc;
using Spire.Doc.Documents;
namespace Set_text_direction_in_Word
{
class Program
{
static void Main(string[] args)
{
//创建一个新的Document对象并加载Word文档
Document document = new Document();
document.LoadFromFile("示例.docx");
//设置一个section内的所有文本的文本方向
Section section = document.Sections[0];
section.TextDirection = TextDirection.RightToLeftRotated;
//设置部分文本的文本方向
Section sec = document.AddSection();
Table table = sec.AddTable();
table.ResetCells(1, 1);
TableCell cell = table.Rows[0].Cells[0];
table.Rows[0].Height = 50;
table.Rows[0].Cells[0].Width = 5;
cell.CellFormat.TextDirection = TextDirection.RightToLeftRotated;
cell.AddParagraph().AppendText("你好");
sec.AddParagraph().AppendText("新段落");
//保存文档
document.SaveToFile("文本方向.docx", FileFormat.Docx);
}
}
}
调试项目就可以生成文档了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |