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

      

  • 相关阅读:
    优化SQL查询:如何写出高性能SQL语句
    提高SQL执行效率的16种方法
    Spring Ioc DI 原理
    java内存泄漏
    转:js闭包
    LeetCode Best Time to Buy and Sell Stock III
    LeetCode Best Time to Buy and Sell Stock with Cooldown
    LeetCode Length of Longest Fibonacci Subsequence
    LeetCode Divisor Game
    LeetCode Sum of Even Numbers After Queries
  • 原文地址:https://www.cnblogs.com/baiboy/p/7251484.html
Copyright © 2011-2022 走看看