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使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
Python  pip安装lxml出错的问题解决办法
Feb 10 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
Python OpenCV处理图像之图像像素点操作
Jul 10 Python
在mac下查找python包存放路径site-packages的实现方法
Nov 06 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
详解解决Python memory error的问题(四种解决方案)
Aug 08 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
解决Python import docx出错DLL load failed的问题
Feb 13 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
python的pip有什么用
Jun 17 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 缓存实现代码及详细注释
2010/05/16 PHP
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
js option删除代码集合
2008/11/12 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
python实现批量改文件名称的方法
2015/05/25 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
对python程序内存泄漏调试的记录
2018/06/11 Python
Python 串口通信的实现
2020/09/29 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
聘用意向书
2014/07/29 职场文书
共青团员自我评价范文
2014/09/14 职场文书
大学生村官入党自传
2015/06/26 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python