Python实现将doc转化pdf格式文档的方法
作者:伏草惟存
这篇文章主要介绍了Python实现将doc转化pdf格式文档的方法,结合实例形式分析了Python实现doc格式文件读取及转换pdf格式文件的操作技巧,以及php调用py文件的具体实现方法,需要的朋友可以参考下
本文实例讲述了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程序设计有所帮助。