WPS文档批量转换成PDF
年初保存的大量WPS文档,需要转换成PDF格式,起初使用WPS等软件逐个转换,实在是太麻烦了。上网搜索了相关软件,令人失望一直没有找到合适的软件,虽有Word转换PDF的,但对Word版本有要求,更重要的是不支持WPS后缀的文件,于是决定自己动手用VB.Net写一个。代码如下:
Private Sub cmdRun_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRun.Click
Try
Dim MyPath = TextBoxPath.Text
Dim WpsNo As Int16 = 0
Dim FileNames() As String
If TextBoxPath.Text <> "" Then
For Each Myfile In System.IO.Directory.GetFiles(MyPath)
TextBoxPath.Text = System.IO.Path.GetFileName(Myfile) '文本框显示正在转换的不含路径的文件名称
FileNames = Split(Myfile, ".") '将文件名分为前缀和后缀
If FileNames.Length = 2 Then '判断分离的数组是否是前缀和后缀,防止出现无后缀的文件运行出错和多个.的文件。
If FileNames(1) = "wps" Or FileNames(1) = "doc" Or FileNames(1) = "txt" Or FileNames(1) = "docx" Or FileNames(1) = "rtf" Or FileNames(1) = "wpt" Or FileNames(1) = "dot" Or FileNames(1) = "dotx" Or FileNames(1) = "dotm" Or FileNames(1) = "xml" Or FileNames(1) = "mht" Or FileNames(1) = "mhtl" Or FileNames(1) = "html" Or FileNames(1) = "htm" Or FileNames(1) = "uof" Then
'打开文件
wAppdoc = wApp.Documents.Open(Myfile)
'接受所有的修改
wAppdoc.AcceptAllRevisions()
wAppdoc.Save() '存储文件
'转换成PDF
wAppdoc.ExportAsFixedFormat(FileNames(0) + ".pdf", Word.WdExportFormat.wdExportFormatPDF)
wAppdoc.Close()
WpsNo = WpsNo + 1
End If
End If
Next
Else
MsgBox("请选择文件夹!")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
注意:运行环境须安装WPS,并在环境中添加WPS API库
方法:打开项目—>引用—>添加引用—>浏览—>在WPS系统目录找到WPSAPI.dll(wps文字) 或ETAPI.dll(WPS表格)