/*自定义导航栏*/

Python实现doc转化pdf

Python实现doc转化pdf

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");
?>

  

posted @ 2017-07-28 17:24  伏草惟存  阅读(4843)  评论(0编辑  收藏  举报