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


Posted in Python onJuly 25, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
python将文本中的空格替换为换行的方法
Mar 19 Python
python绘制直线的方法
Jun 30 Python
python assert的用处示例详解
Apr 01 Python
python and or用法详解
Jun 26 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
Python日志syslog使用原理详解
Feb 18 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
Django限制API访问频率常用方法解析
Oct 12 Python
python语言中pandas字符串分割str.split()函数
Aug 05 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 #Python
将Python的Django框架与认证系统整合的方法
Jul 24 #Python
Django与遗留的数据库整合的方法指南
Jul 24 #Python
简介Django中内置的一些中间件
Jul 24 #Python
Python字符串转换成浮点数函数分享
Jul 24 #Python
详解Python的Django框架中的中间件
Jul 24 #Python
浅谈Python的Django框架中的缓存控制
Jul 24 #Python
You might like
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
js截取小数点后几位的写法
2013/11/14 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
深入浅析JavaScript中with语句的理解
2016/05/12 Javascript
对javascript继承的理解
2016/10/11 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
python写日志文件操作类与应用示例
2019/07/01 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
佳能英国官方网站:Canon UK
2017/08/08 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
大学毕业通用个人的求职信
2013/12/08 职场文书
5s推行计划书
2014/05/06 职场文书
生产操作工岗位职责
2014/09/16 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
创业计划书之酒店
2019/08/30 职场文书