zoukankan      html  css  js  c++  java
  • 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    HDU 1686 Oulipo(kmp)
    openstack介绍以及流程
    openstack组件介绍
    linux之sort
    linux-ls命令
    CSRF-跨域访问保护
    WEB聊天
    python之路-Django进阶
    python之路-Django
    python之路-jQuery
  • 原文地址:https://www.cnblogs.com/jcjc/p/9952207.html
Copyright © 2011-2022 走看看