由于linux上处理word和ppt比较麻烦,而且有文件格式专利的问题,所以以下操作全部在Windows下面进行。
首先需要安装Microsoft Save as PDF加载项,官方下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=7
安装成功后可以手工将文档另存为pdf。
需要引用“Win32::OLE”模块
word转pdf:
ppt转pdf
注意事项:
- PPT转换中如果设置powerpoint不显示,即$word->{‘Visible’} = 0,会导致转换失败。
- 如果使用完整的路径,路径名中不能有空格以及“%”等特殊符号,不然无法打开文档。
转换当前文件夹下的文件:
如果要同时转换子文件夹的文件,可以先遍历,然后再转换:
为了避免多次重复打开word,可以先获取所有需要转换的文档,集中转换:
也可以换一种实现,先调用chdir到子目录中,然后在子目录中进行转换,可以避免目录有不合法字符导致的转换失败,不过文件名的不合法字符导致的失败也不可避免,所以以上的各种转换,都需要先提出空格以及特殊字符才行,deleteSpace仅仅替换了空格,还需要改进。