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 禁止函数修改列表的实现方法
Aug 03 Python
python数据抓取分析的示例代码(python + mongodb)
Dec 25 Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
在Python中如何传递任意数量的实参的示例代码
Mar 21 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 Python
Python实现随机爬山算法
Jan 29 Python
Python实现粒子群算法的示例
Feb 14 Python
python自动化操作之动态验证码、滑动验证码的降噪和识别
Aug 30 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的一个基础知识 表单提交
2011/07/04 PHP
PHP中用hash实现的数组
2011/07/17 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
2018/11/14 jQuery
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
2020/12/04 Vue.js
[33:28]完美世界DOTA2联赛PWL S3 PXG vs GXR 第三场 12.19
2020/12/24 DOTA
Python中MySQL数据迁移到MongoDB脚本的方法
2016/04/28 Python
Python快速从注释生成文档的方法
2016/12/26 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
python绘制直线的方法
2018/06/30 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
tensorflow 实现数据类型转换
2020/02/17 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python文件路径操作方法总结
2020/12/21 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
欧姆龙医疗保健与医疗产品:Omron Healthcare
2020/02/10 全球购物
护士求职自荐信范文
2014/03/19 职场文书
品质口号大全
2014/06/17 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
五一劳动节活动总结
2015/02/09 职场文书
自主招生英文自荐信
2015/03/25 职场文书
公司门卫岗位职责
2015/04/13 职场文书