zoukankan      html  css  js  c++  java
  • 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{1080px; margin: 0 auto;}
            legend{font-weight:bold; font-size:14px;}
            label{float:left; 120px; margin-left:10px;}
            .left{margin-left:120px;}
            .input{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=" 400px"     class="input" />
        <divp/>
    
        <div>
        <br/>
        <label for="projectsumb" class="label">项目简介:</label>
        <textarea name="projectsumb"  id="projectsumb" style="height:400px;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");
    ?>
    

      

  • 相关阅读:
    vbscript 语言通过序列和ADODB实现取号不重复
    arcgisserver成功发布服务后,浏览服务,无地图显示
    GUID的获取
    EasyUi 表格自适应宽度
    接口隔离原则
    依赖倒置原则
    开放封闭原则
    单一职责原则
    python-函数基础
    python -流程控制
  • 原文地址:https://www.cnblogs.com/baiboy/p/7251484.html
Copyright © 2011-2022 走看看