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抓取文档的方法
Sep 26 Python
Python利用operator模块实现对象的多级排序详解
May 09 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 Python
Python Pillow Image Invert
Jan 22 Python
如何实现Django Rest framework版本控制
Jul 25 Python
Python高级特性——详解多维数组切片(Slice)
Nov 26 Python
python 爬取疫情数据的源码
Feb 09 Python
Python中的整除和取模实例
Jun 03 Python
Python自动登录QQ的实现示例
Aug 28 Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 Python
Python可视化学习之seaborn调色盘
Feb 24 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 静态页面中显示动态内容
2009/08/14 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
jquery实用代码片段集合
2010/08/12 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
validationEngine 表单验证插件使用实例代码
2017/06/15 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
深入理解Python变量与常量
2016/06/02 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
python for和else语句趣谈
2019/07/02 Python
pycharm安装及如何导入numpy
2020/04/03 Python
基于python 将列表作为参数传入函数时的测试与理解
2020/06/05 Python
python Selenium 库的使用技巧
2020/10/16 Python
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
Canvas globalCompositeOperation
2018/12/18 HTML / CSS
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
美国最大的无人机经销商:DroneNerds
2018/03/20 全球购物
J2EE面试题
2016/03/14 面试题
创业大赛策划书
2014/03/01 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
运动会加油稿
2015/07/22 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
导游词之安徽巢湖
2019/12/26 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏