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 相关文章推荐
pymongo实现控制mongodb中数字字段做加法的方法
Mar 26 Python
简单介绍Python中的decode()方法的使用
May 18 Python
Python 3.x 新特性及10大变化
Jun 12 Python
Python基础篇之初识Python必看攻略
Jun 23 Python
python django事务transaction源码分析详解
Mar 17 Python
flask框架中勾子函数的使用详解
Aug 01 Python
python selenium firefox使用详解
Feb 26 Python
使用python进行波形及频谱绘制的方法
Jun 17 Python
解决Python正则表达式匹配反斜杠''\''问题
Jul 17 Python
Python3之字节串bytes与字节数组bytearray的使用详解
Aug 27 Python
Python爬虫爬取ts碎片视频+验证码登录功能
Feb 22 Python
关于Python中*args和**kwargs的深入理解
Aug 07 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基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
node版本管理工具n包使用教程详解
2018/11/09 Javascript
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
原生js实现随机点名
2020/07/05 Javascript
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python subprocess模块常见用法分析
2018/06/12 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
Python发展简史 Python来历
2019/05/14 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
介绍一下grep命令的使用
2015/06/12 面试题
建筑施工员岗位职责
2013/11/26 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
转预备党员政审材料
2014/02/06 职场文书
霸王洗发水广告词
2014/03/14 职场文书
党校毕业心得体会
2014/09/13 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
党员思想汇报材料
2014/12/19 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
nginx部署多前端项目的几种方法
2021/05/25 Servers
python前后端自定义分页器
2022/04/13 Python
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js