Python实现将DOC文档转换为PDF的方法

yipeiwu_com5年前Python基础

本文实例讲述了Python实现将DOC文档转换为PDF的方法。分享给大家供大家参考。具体实现方法如下:

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.
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)

希望本文所述对大家的Python程序设计有所帮助。

相关文章

解决Pandas的DataFrame输出截断和省略的问题

解决Pandas的DataFrame输出截断和省略的问题

我们看一个现象: import pandas as pd titanic = pd.read_csv('titanic_data.csv') print(titanic.head()...

详解Numpy中的广播原则/机制

广播的原则 如果两个数组的后缘维度(从末尾开始算起的维度)的轴长度相符或其中一方的长度为1,则认为它们是广播兼容的。广播会在缺失维度和(或)轴长度为1的维度上进行。 在上面的对arr每...

python用来获得图片exif信息的库实例分析

本文实例讲述了python用来获得图片exif信息的库用法。分享给大家供大家参考。具体分析如下: exif-py是一个纯python实现的获取图片元数据的python库,官方下载地址:...

python实现在IDLE中输入多行的方法

在python命令行模式下,在IDLE中输入多行,例如if  else 使用tab的方式,控制缩进 在最后,连续两个回车,表示结束 >>> if stat...

pycharm恢复默认设置或者是替换pycharm的解释器实例

pycharm恢复默认设置或者是替换pycharm的解释器实例

Windows 找到下面的路径,然后删掉即可 # Windows Vista, 7, 8, 10:<SYSTEM DRIVE>\Users\<USER ACCOUN...