Python 中docx转pdf

#第一种

import comtypes.client

def convertDocxToPDF(infile,outfile):

wdFormatPDF = 17

word = comtypes.client.CreateObject('Word.Application')

doc = word.Documents.Open(infile)

doc.SaveAs(outfile, FileFormat=wdFormatPDF)

doc.Close()

word.Quit()

#第二种

from win32com.client import Dispatch, constants, gencache

def doc2pdf(input, output):

w = Dispatch("Word.Application")

try:

doc = w.Documents.Open(input, ReadOnly=1)

doc.ExportAsFixedFormat(output, constants.wdExportFormatPDF,

Item=constants.wdExportDocumentWithMarkup,

CreateBookmarks=constants.wdExportCreateHeadingBookmarks)

return 0

except:

return 1

finally:

w.Quit(constants.wdDoNotSaveChanges)

# Generate all the support we can.

def GenerateSupport():

# enable python COM support for Word 2007

# this is generated by: makepy.py -i "Microsoft Word 12.0 Object Library"

gencache.EnsureModule('{00020905-0000-0000-C000-000000000046}', 0, 8, 4)

def trsfer():

if (len(sys.argv) == 2):

input = sys.argv[1]

output = os.path.splitext(input)[0] + '.pdf'

elif (len(sys.argv) == 3):

input = sys.argv[1]

output = sys.argv[2]

else:

input = u'' # word文档的名称(可带地址)

output = u'' # pdf文档的名称(可带地址)

if (not os.path.isabs(input)):

input = os.path.abspath(input)

if (not os.path.isabs(output)):

output = os.path.abspath(output)

try:

GenerateSupport()

rc = doc2pdf(input, output)

return rc

except:

return -1

if __name__ == '__main__':

res=trsfer()

if rc:

sys.exit(rc)

sys.exit(0)

---------------------

作者:qq_40219176

来源:CSDN

原文:https://blog.csdn.net/qq_40219176/article/details/78599980

版权声明:本文为博主原创文章,转载请附上博文链接!