バッチは、PDFファイルに単語を変換します

PDFへのバッチ改宗者の単語に使用される小型のツールを書き込むには、使用します。

完全なコードは、文書にコピーし、words2pdfs.pyするには、名前を変更された
ファイルディレクトリ変換する必要にコピーされたファイル
の端子に入力されたPythonのwords2pdfs.pyを
端末が変換する必要があり、以下の文献に記載されますが、あなたは、yesと入力することができます。
注意:実行した後にPDFファイルは、すべてのファイルを変換して、現在のディレクトリにフォルダが生成されます。

 

輸入OS、shutil
 から win32com インポートクライアント

DEFのdoc2pdf(DOC_NAME、pdf_name):
     "" " 
    :Wordのファイル転送PDF 
    :PARAM DOC_NAME Wordファイル名
    :ファイル名のparam pdf_name PDFに変換
    " "" 
    試み
        Wordは = client.DispatchEx(" Word.Application " IF os.path.exists(pdf_name):
            os.remove(pdf_name)
        WordDoc = word.Documents.Open(DOC_NAME、読み取り専用= 1 
        worddoc.SaveAs(pdf_name、FileFormatは = 17 戻りpdf_name
    除く例外E AS:
         印刷(E)
         リターン 1。
     最終的には
        worddoc.Close()
        word.Quit()

DEF doc2docx(DOC_NAME、docx_name):
     "" " 
    :DOCのターンdocxファイル
    " "" 
    試み#は、最初のdoc docxファイルに変換しました 
        = client.Dispatchワード(" Word.Application " 
        DOC = word.Documents.Open(DOC_NAME)
        パラメータは、ドキュメントのDOCXを変換するために16を表す 
        doc.SaveAs(docx_name、16 を除く渡し
    、最終的に
        doc.Close()
        word.Quit()

DEF createDirs(basePathを= os.getcwd()):
    存放转化后的PDF文件夹 
    pdfs_dir = basePathを+ ' / PDFファイル' 
    なら ないos.path.exists(pdfs_dir):
        OS .mkdir(pdfs_dir)
    リターンpdfs_dirの

デフ getFileNames(basePathを= os.getcwd()):
    ファイル名 = []
    words_dirするすべての.wordsファイルを移動する
    ためのファイルos.listdir(basePathを):
         もし file.endswith(' .docxの' ):
            filenames.append(ファイル)
        のelifの file.endswith(' .DOC ' ):
            filenames.append(ファイル)
        合格
    返すファイル名は

デフ変換(basePathを= os.getcwd()、ファイル名の= []):
    pdfs_dir = createDirs(basePathを)
     のためのファイル名ファイル名:
        pdfName = " ' .join(filename.split(' ') - 1] +)' .PDF " 
        doc2pdf(os.path.join(basePathを、ファイル名)、os.path.join(pdfs_dir、pdfName))


なら __name__ == ' __main__ ' 
    basePathを = os.getcwd()
    lfileNames = getFileNames(basePathを)
     プリントあなたが行っていますこれらのファイルをPDFへ変換するのですか?" のためのファイル名lfileNames:
         プリント(ファイル名)
     プリントはい/いいえ?しばらく真:
        コマンド = 入力()
         場合は、コマンド== ' はい' 
            変換(basePathを、lfileNames)
            ブレーク
        ELIFの ==コマンドを' なし' 破る
        プリント' 間違ったコマンドを、入力yesまたはnoください'

---------------------
免責事項:この記事はCSDNブロガー「Fantastic_Liarのオリジナルの記事、CC BY-SA 4.0の著作権契約に従って、再現され、オリジナルを添付してくださいソースリンクと、この文。
オリジナルリンクします。https://blog.csdn.net/Fantastic_Liar/article/details/90452928

おすすめ

転載: www.cnblogs.com/cangqinglang/p/11332548.html