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模拟enum枚举类型的方法小结
Apr 30 Python
Python实现的HTTP并发测试完整示例
Apr 23 Python
利用Python获取赶集网招聘信息前篇
Apr 18 Python
Python实现多线程的两种方式分析
Aug 29 Python
python版飞机大战代码分享
Nov 20 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
python redis连接 有序集合去重的代码
Aug 04 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
python logging模块的使用详解
Oct 23 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
Mar 04 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 CKEditor 上传图片实现代码
2009/11/06 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
php面向对象值单例模式
2016/05/03 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
php支付宝APP支付功能
2020/07/29 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
js将json格式内容转换成对象的方法
2013/11/01 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
VSCode Vue开发推荐插件和VSCode快捷键(小结)
2020/08/08 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python实现发送与接收邮件的方法详解
2018/03/28 Python
pytorch + visdom 处理简单分类问题的示例
2018/06/04 Python
python实现剪切功能
2019/01/23 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
python中time.ctime()实例用法
2021/02/03 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
大学生2014全国两会学习心得体会
2014/03/10 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
网络销售员岗位职责
2015/04/11 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
初婚未育证明样本
2015/06/18 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
Python Parser的用法
2021/05/12 Python
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers