参考资料
功能说明
- 使用 COM 物件 Word.Application,将 DOCX 档转换为 PDF 格式
- 整批转换资料夹里的所有 DOCX 档
- 使用 ExportAsFixedFormat 方法
程序源代码请参见:https://gist.github.com/emisjerry/5f936143f1086cc4b0eb100e891dbed3
我们要做的修改只要将第三行的存放 docx 的文件夹路径设定一下就好,注意只能对 docx 进行转换,无法转换 doc 文档
通过与 docx 自带的 PDF 转换比较了一下,生成的 PDF 大小一模一样
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
sFolder := "Z:\DOC" sOutputExt := ".pdf"
Loop %sFolder%\*.docx { sInputFilename = %A_LoopFileName% iPos := InStr(sInputFilename, "~") if (iPos = 1) { Continue } Docx2Pdf(sFolder . "\" . sInputFilename, sOutputExt) }
Docx2Pdf(sInputFilename, sOutputExt) { WD := ComObjCreate("Word.Application") WD.Documents.Open(sInputFilename) WD.visible:=0 iFormat := 17 sOutputFilename := StrReplace(sInputFilename, ".docx", ".pdf") OpenAfterExport := True OptimizeFor := False Range := 0 From := 1 To := False
WD.ActiveDocument.ExportAsFixedFormat(sOutputFilename,17,OpenAfterExport,OptimizeFor,Range,From,To)
WD.quit WD := "" }
|