改变word的语言字典
上周末看论坛有人提出否有方法用代码改变word的语言字典,因为默认的语言会影响现用语言输入的拼写器和其他校对工具。我在网上查了下发现Spire.doc这个产品说它们支持,正好闲来无事所以我用西班牙语做了一次测试,结果发现效果还不错,下面就分享下测试过程。
整个过程使用C#语言,在VS2012环境下,word使用的版本是word2013,所测试的语言是Spanish in Peru,Locale ID Values 是10250。完整的Locale ID Values表,大家可以参见Microsoft Locale ID Values。
所用第三方函数库的下载地址看这里:http://www.e-iceblue.com/Download/download-word-for-net-now.html,所用的版本为 Free Spire.Doc for .NET Version:5.2
所需要的有用的文件就是Spire.Doc.dll,放在所下载解压后的BIN目录下的NET4.0 (大家可以根据自己需要选择不同的版本)。
下面就正式开始啦!
第一步:添加dll文件到project中。
打开我们的VS新建控制台程序就够了,然后右键Reference->Add Reference然后根据下图添加Spire.Doc.dll文件。
第二步:添加using。需要手动添加下面三个。
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
第三步:建立新word文件,并初始化。在这一步开始就是添加代码了。
Document document = new Document();
Section sec = document.AddSection();
Paragraph para = sec.AddParagraph();
第四步:在所建立的段落里面加TextRange,并加入一段西班牙语。
TextRange txtRange = para.AppendText("corrige según diccionario en inglés");
txtRange.CharacterFormat.LocaleIdASCII = 10250;
第五步:保存一下文件再预览。
document.SaveToFile("result.docx", FileFormat.Docx2013);
System.Diagnostics.Process.Start("result.docx");
预览结果
可以看出,在我们没注意默认语言的情况下,语言字典被改为 Peru Spanish了。