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文件和目录操作详解
Feb 08 Python
Python的Urllib库的基本使用教程
Apr 30 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
python检测空间储存剩余大小和指定文件夹内存占用的实例
Jun 11 Python
python连接mongodb密码认证实例
Oct 16 Python
Python 常用模块 re 使用方法详解
Jun 06 Python
Python将视频或者动态图gif逐帧保存为图片的方法
Sep 10 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
python常用数据重复项处理方法
Nov 22 Python
Python常用GUI框架原理解析汇总
Dec 07 Python
Python可变集合和不可变集合的构造方法大全
Dec 06 Python
Python matplotlib安装以及实现简单曲线的绘制
Apr 26 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
js判断变量是否空值的代码
2008/10/26 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
jquery的总体架构分析及实现示例详解
2014/11/08 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
JS拖拽排序插件Sortable.js用法实例分析
2019/02/20 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
jQuery 移除事件的方法
2020/06/20 jQuery
Python中zip()函数用法实例教程
2014/07/31 Python
python最长回文串算法
2018/06/04 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
详解python中递归函数
2019/04/16 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
护士自我鉴定
2013/10/23 职场文书
中医临床专业自我鉴定范文
2014/01/15 职场文书
《颐和园》教学反思
2014/02/26 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
党在我心中演讲稿
2014/09/02 职场文书
上课迟到检讨书
2015/05/06 职场文书
导游词之天津古文化街
2019/11/09 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
Python Pygame实战之塔防游戏的实现
2022/03/17 Python
公历12个月名称的由来
2022/04/12 杂记