007 C# Word批量转Pdf_第1张图片


Hey,How are you doing?

最近,有不少粉丝反映,

在工作中,很多领导电脑上还在使用97-2003版本Word,

当自己使用Word2016版本时,

经常忘记将docx转换成doc,

最终,因为Word存在高低版本不兼容问题,

导致你发给领导的Word文件,

领导费一大顿功夫打不开,还以为你能力不行。

怎么会让你升职加薪,因此,细节问题一定不能忽视。

这期,我给大家介绍一下,

  • 如何快速实现低版本doc和高版本docx互相转换。

  • 如何快速实现doc/docx批量转换pdf文件。


001 界面设计

007 C# Word批量转Pdf_第2张图片


textBox1:用于显示目录选取弹框选取待转换文件夹完整路径。

  • ReadOnly:true(只读模式)

comboBox1:用于选择文件目标格式。

  • DropDownStyle:DropDownList(列表选取模式)

button1:用于弹框指示用户选取待转换文件所在目录文件夹。

button2:完成批量转换。

002 引用命名空间

007 C# Word批量转Pdf_第3张图片


小白基础操作,如新建窗体应用程序步骤就不再赘述。

  • 常规引用:新建窗体应用后会默认添加4个空间。

  • 手动引用:需要添加IO文件流和Word空间。(添加Interop.Microsoft.Office.Interop.Word.dll,Word互操作属性设置为true。)

003 设置选取文件夹按钮

007 C# Word批量转Pdf_第4张图片


  • 弹框选取的路径Pth.SelectedPath在textBox1.Text上显示,接着将textBox1.Text+@“\”复制给文件路径Pth。

004 设置批量转换按钮

007 C# Word批量转Pdf_第5张图片



this.comboBox1.SelectedItem.ToString()是指comboBox1选取下拉列表内容。

这里,使用选择语句,针对转换格式进行了分别选择。

  • Fnl:转换后文件的后缀名。

  • Src:使用 dir.GetFiles()获取的转换前文件的后缀名。

很显然,Src和this.comboBox1.SelectedItem.ToString()选取的内容应该是相反的。

,comboBox1选取doc意味着把docx文件转为doc,也就是Src是docx。

相反,comboBox1选取docx意味着把doc文件转为docx,也就是Src是doc。

007 C# Word批量转Pdf_第6张图片


转换后的文件完整路径由三部分拼接而成。

  • Pth:包含 ”\“ 的文件所在目录。

  • Nam: 去掉后缀名的文件名。

  • Fnl: 包含 ”.“ 的文件后缀名。

斜杠”\“和点”.“是十分重要且必要的,千万不能漏写。

007 C# Word批量转Pdf_第7张图片


007 C# Word批量转Pdf_第8张图片


doc和docx互相转换

Wdc.SaveAs(文件路径,文件格式)。

  • 97-2003doc文件格式的枚举值是0。

  • docx文件格式的枚举值是16。

doc\docx转换pdf

Wdc.ExportAsFixedFormat(文件路径,文件格式)

  • pdf文件格式的枚举名称是wdExportFormatPDF。

综上,在方法内传递枚举参数时,既可以使用枚举名称,也可以使用枚举值进行传递。

好了,最后贴一下源码,回复 源码 获得源文件。

007 C# Word批量转Pdf_第9张图片


———— The End ————