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多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
Python线程中对join方法的运用的教程
Apr 09 Python
Python通过正则表达式选取callback的方法
Jul 18 Python
python基础教程之五种数据类型详解
Jan 12 Python
Python正则表达式知识汇总
Sep 22 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
python实现简单加密解密机制
Mar 19 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
Python如何使用函数做字典的值
Nov 30 Python
python2 对excel表格操作完整示例
Feb 23 Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 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.MVC的模板标签系统(四)
2006/09/05 PHP
php checkbox 取值详细说明
2010/08/19 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
实现PHP搜索加分页
2016/10/12 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
AngularJS应用开发思维之依赖注入3
2016/08/19 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
Vue中computed与methods的区别详解
2018/03/24 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
浅谈python装饰器探究与参数的领取
2017/12/01 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
python 解决print数组/矩阵无法完整输出的问题
2020/02/19 Python
python绘制趋势图的示例
2020/09/17 Python
python实现控制台输出颜色
2021/03/02 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
运输服务质量承诺书
2014/03/27 职场文书
庆国庆活动总结
2014/08/28 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
优秀党员事迹材料
2014/12/18 职场文书
个人年终总结怎么写
2015/03/09 职场文书
python标准库ElementTree处理xml
2022/05/20 Python
springboot+rabbitmq实现智能家居实例详解
2022/07/23 Java/Android
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript