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 sys.argv用法实例
May 28 Python
Python的Flask框架的简介和安装方法
Nov 13 Python
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
python+pandas分析nginx日志的实例
Apr 28 Python
使用pandas对两个dataframe进行join的实例
Jun 08 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
Django Celery异步任务队列的实现
Jul 24 Python
Golang GBK转UTF-8的例子
Aug 26 Python
python调用matplotlib模块绘制柱状图
Oct 18 Python
基于Python实现人脸自动戴口罩系统
Feb 06 Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
php文件读取方法实例分析
2015/06/20 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
WordPress中获取指定分类及其子分类下的文章数目
2015/12/31 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
PHP目录操作实例总结
2016/09/27 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
python二叉树遍历的实现方法
2013/11/21 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
python怎么提高计算速度
2020/06/11 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
python怎么对数字进行过滤
2020/07/05 Python
这段代码难道不该打印出56吗
2013/02/27 面试题
幼儿园区域活动总结
2014/05/08 职场文书
文化建设工作方案
2014/05/12 职场文书
鲁迅故居导游词
2015/02/05 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
感恩的心主题班会
2015/08/12 职场文书
中学团支部工作总结
2015/08/13 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书