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的web.py框架并从hello world开始编程
Apr 25 Python
python调用java模块SmartXLS和jpype修改excel文件的方法
Apr 28 Python
Python批量重命名同一文件夹下文件的方法
May 25 Python
详解Python Socket网络编程
Jan 05 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 Python
Linux CentOS Python开发环境搭建教程
Nov 28 Python
​如何愉快地迁移到 Python 3
Apr 28 Python
Python 实现自动登录+点击+滑动验证功能
Jun 10 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
Python+logging输出到屏幕将log日志写入文件
Nov 11 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
克隆一个新项目的快捷方式
2013/04/10 PHP
php mb_substr()函数截取中文字符串应用示例
2014/07/29 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
JavaScript 特殊字符
2007/04/05 Javascript
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
vuex vue简单使用知识点总结
2019/08/29 Javascript
小程序瀑布流组件实现翻页与图片懒加载
2020/05/19 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
[01:22:28]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第一场 1月18日
2021/03/11 DOTA
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
django Admin文档生成器使用详解
2019/07/22 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
用HTML5的canvas实现一个炫酷时钟效果
2016/05/20 HTML / CSS
总经理文秘岗位职责
2014/02/03 职场文书
买卖协议书范本
2014/04/21 职场文书
团日活动总结
2014/04/28 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
车位出租协议书范本
2016/03/19 职场文书
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫