python将docx文件转换成pdf文件

 安装win32com对应的控件

$ pip install  pywin32  -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com

 转换代码

# encoding=utf-8
import os
import traceback
import win32com
from win32com.client import constants


def transfer():
    root = os.getcwd()
    for parent, dirs, fs in os.walk(root):
        for f in fs:
            suffix = ".docx"
            if f.endswith(suffix):
                prefix = f[0:f.find(suffix)]
                nName = prefix + ".pdf"
                oldPath = os.path.sep.join((parent, f))
                newPath = os.path.sep.join((parent, nName))

                w = win32com.client.DispatchEx('Word.Application')
                try:
                    doc = w.Documents.Open(oldPath, ReadOnly=1)
                    doc.ExportAsFixedFormat(newPath,
                                            constants.wdExportFormatPDF,
                                            Item=constants.wdExportDocumentWithMarkup,
                                            CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
                    print("ok f = {}".format(f))
                except Exception as e:
                    print("error f = {} {}".format(f, e))
                    traceback.print_exc()
                finally:
                    w.Quit(constants.wdDoNotSaveChanges)


if __name__ == '__main__':
    transfer()

 


版权声明:本文为wulong710原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。