Python实现将doc转化pdf格式文档的方法


Posted in Python onJanuary 19, 2018

本文实例讲述了Python实现将doc转化pdf格式文档的方法。分享给大家供大家参考,具体如下:

#-*- coding:utf-8 -*-
# doc2pdf.py: python script to convert doc to pdf with bookmarks!
# Requires Office 2007 SP2
# Requires python for win32 extension
import sys, os
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 main():
  print(len(sys.argv))
  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'BA06007013.docx'#word文档的名称
    output = u'BA06007013.pdf'#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__':
  print("hello")
  rc = main()
  if rc:
    sys.exit(rc)
  sys.exit(0)

php调用py程序

<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>项目查重检测系统</title>
  <style type="text/css">
    html{font-size:16px;}
    fieldset{width:1080px; margin: 0 auto;}
    legend{font-weight:bold; font-size:14px;}
    label{float:left; width:120px; margin-left:10px;}
    .left{margin-left:120px;}
    .input{width:150px;}
    span{color: #666666;}
  </style>
  <script language=JavaScript>
  <!--
  // function InputCheck(CheckForm)
  // {
  //  if (CheckForm.projectname.value == "" )
  //  {
  //   alert("请输入项目名称!");
  //   CheckForm.projectname.focus();
  //   return (false);
  //  }
  //  if (document.getElementById("projectsumb").value== "" )
  //  {
  //   alert("请输入项目简介!");
  //   CheckForm.projectname.focus();
  //   return (false);
  //  }
 }
  </script>
</head>
<body>
<div>
<fieldset>
<legend>项目查重检测系统</legend>
<form name="CheckForm" method="post" action="index.php" onSubmit="return InputCheck(this)">
  <div>
  <br/>
  <label for="projectname" class="label">项目名称:</label>
  <input id="projectname" name="projectname" type="text" style="width: 400px"   class="input" />
  <divp/>
  <div>
  <br/>
  <label for="projectsumb" class="label">项目简介:</label>
  <textarea name="projectsumb" id="projectsumb" style="height:400px;width:800px;"></textarea>
  <div/>
  <div>
  <br/>
  <br/>
  <input type="submit" name="submit" value=" 检 测 " class="left" />
  </div>
    <div>
  <br/>
  <label name="result" class="label">检测结果:</label>
  <label name="outresult" class="label"></label>
  <br/>
  <div/>
</form>
<br/>
<br/>
</div>
</body>
</html>
<?php
  $name=mb_convert_encoding($_POST['projectname'], "GBK","UTF-8");
  // $sumb=mb_convert_encoding($_POST['projectsumb'], "GBK","UTF-8");
  // $path1="../docTopdf/commFile/test.doc";
  $program="D:/Users/Administrator/Anaconda3/python ../docTopdf/DocToPdf/test1.py"; #注意使用绝对路径.$name."".$sumb
  $output = exec($program)
  // $output = nl2br(shell_exec($program));
  echo mb_convert_encoding ($output,"UTF-8", "GBK");
?>

更多Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

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

Python 相关文章推荐
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
Python yield 小结和实例
Apr 25 Python
在Python的Flask框架中构建Web表单的教程
Jun 04 Python
python3.5仿微软计算器程序
Mar 30 Python
老生常谈Python之装饰器、迭代器和生成器
Jul 26 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
如何利用python制作时间戳转换工具详解
Sep 12 Python
python执行CMD指令,并获取返回的方法
Dec 19 Python
快速排序的四种python实现(推荐)
Apr 03 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
Django全局启用登陆验证login_required的方法
Jun 02 Python
Python如何实现机器人聊天
Sep 10 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 #Python
python机器学习理论与实战(二)决策树
Jan 19 #Python
Python三种遍历文件目录的方法实例代码
Jan 19 #Python
python机器学习理论与实战(一)K近邻法
Jan 28 #Python
python机器学习理论与实战(六)支持向量机
Jan 19 #Python
Python logging管理不同级别log打印和存储实例
Jan 19 #Python
python机器学习理论与实战(五)支持向量机
Jan 19 #Python
You might like
PHP 作用域解析运算符(::)
2010/07/27 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
php PDO异常处理详解
2016/11/20 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
jquery 表格排序、实时搜索表格内容(附图)
2014/05/19 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
js实现随机数字字母验证码
2017/06/19 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
微信小程序 input输入及动态设置按钮的实现
2017/10/27 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
使用Template格式化Python字符串的方法
2019/01/22 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
微信小程序python用户认证的实现
2019/07/29 Python
django foreignkey(外键)的实现
2019/07/29 Python
python manage.py runserver流程解析
2019/11/08 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
创建索引时需要注意的事项
2013/05/13 面试题
软件设计的目标是什么
2016/12/04 面试题
幼儿园教师教育感言
2014/02/28 职场文书
优秀实习生感言
2014/03/01 职场文书
晚会主持词开场白
2014/03/17 职场文书
六年级学生期末评语
2014/12/26 职场文书
八年级作文之友谊
2019/12/02 职场文书
解决thinkphp6(tp6)在状态码500下不报错,或者显示错误“Malformed UTF-8 characters”的问题
2021/04/01 PHP