玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python源码实例_Python程序源代码_网站项目下载 > 正文内容

Python将DOC文档转换为PDF的方法源码详解

Python入门佳作 经典教程的全新修订 10个项目引人入胜
玩蛇网推荐图文教程:python黑客多线程扫描器

分享一个用python代码写的将doc转换成pdf文件的代码, Python将DOC文档转换为PDF的方法,这样可以解决用命令来转换的麻烦操作。Python sysPython os模块方法是代码中需要导入使用的。其它没有什么特别的要求。

代码中的注释为英文的,可以自行网上翻译一下。

import sys, os

from win32com.client import Dispatch, constants, gencache

def usage():
    sys.stderr.write ("doc2pdf.py input [output]")
    sys.exit(2)

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.
#www.iplaypython.com

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 main():

  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:
    usage()

  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__':
    rc = main()
    if rc:
        sys.exit(rc)
    sys.exit(0)

玩蛇网文章,转载请注明出处和来源网址:http://www.iplaypython.com/code/c2657.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网PythonQQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
出炉日期:2015-12-23 21:36 玩蛇网 www.iplaypython.com

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules