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使用cookielib模块操作cookie的实例教程
Jul 12 Python
python3.4用循环往mysql5.7中写数据并输出的实现方法
Jun 20 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
Python远程开发环境部署与调试过程图解
Dec 09 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
Python matplotlib画曲线例题解析
Feb 07 Python
浅谈优化Django ORM中的性能问题
Jul 09 Python
Python编写memcached启动脚本代码实例
Aug 14 Python
Pycharm学生免费专业版安装教程的方法步骤
Sep 24 Python
python实现的web监控系统
Apr 27 Python
python实战之用emoji表情生成文字
May 08 Python
写好Python代码的几条重要技巧
May 21 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
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
php连接Access数据库错误及解决方法
2013/06/20 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
Windows下Node.js安装及环境配置方法
2017/09/18 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
layui 动态设置checbox 选中状态的例子
2019/09/02 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python 字符串中的字符倒转
2008/09/06 Python
Python内置函数dir详解
2015/04/14 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
Python实现端口检测的方法
2018/07/24 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
Koral官方网站:女性时尚运动服
2019/04/10 全球购物
会计自荐书
2013/12/02 职场文书
职工运动会邀请函
2014/01/19 职场文书
一年级家长会邀请函
2014/01/25 职场文书
研修心得体会
2014/09/04 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
幼儿园教师自荐书
2015/03/06 职场文书