Pythonはチュートリアルに従ってインターフェースを作成します

ワードアシスタント

1.システム機能の構造

システム機能構造

2.システムビジネスプロセス

システムビジネスプロセス

3.開発ツールの準備

  • Python組み込みモジュール:os、_thread、sys、codecs、re
  • サードパーティモジュール:PyQt5 / PySide2、pyqt5-tools、PyPDF2、pywin32

4.フォルダ構成構造

フォルダ構成

  • wordtopdf --------プロジェクトフォルダ
    • 画像--------画像が保存されているフォルダ
    • ツール--------ツール
    • ui -------- UIインターフェイスファイルが保存されるフォルダー
    • venv --------仮想環境
      • listWindow.py --------一般的なカタログウィンドウファイルを抽出します
      • mainWindow.py --------メインウィンドウファイル
      • pageWindow.py --------ページ番号フォームファイルを抽出します
      • transformWindow.py -------- WordからPDFへのフォームファイル
      • wordtopdf.py --------メインプロジェクトファイル

5.ツールモジュールの作成

①トラバーサルディレクトリモジュールを作成する

  1. ツールフォルダにcommon.pyファイルを作成します
  2. ソフトウェアはディレクトリ内のファイルをトラバースする必要があることが多いため、コードの再利用を考慮して、サブ関数を作成します
from win32com import client as wc
from docx2pdf import convert
import shutil
import os

def getfilenames(documentname,doc_path):
    """
    documentname放有文件夹的名称
    doc_path其中doc格式的文件你想移到那个位置
    """
    filelist_out = []
    for filename in os.listdir(documentname):
        # print(filename)
        fi_d = os.path.join(documentname,filename)
        file_ext = os.path.splitext(filename)[1]
        # print(file_ext)
        if file_ext == '.docx' or '.doc':
            if file_ext == '.docx':
                filelist_out.append(fi_d)
            if file_ext == '.doc':
                this_fullname = os.path.join(documentname,filename)
                w = wc.Dispatch('Word.Application')
                doc = w.Documents.Open(this_fullname)
                next_fullname = os.path.splitext(this_fullname)[0]+'.docx'
                doc.SaveAs(next_fullname,16)
                doc.Close()
                shutil.move(this_fullname,r'E:\签收单\1\新建文件夹')
                filelist_out.append(next_fullname)
 

if __name__ == '__main__':
    getfilenames(r'E:\签收单\1',r'E:\签收单\1\新建文件夹')

②Word文書をPDFに変換するwordtopdf1モジュールを書く

"""研究书上的例子三天头都大了,
就是不明白,最后在b站有个老师提到了问题的关键,
下面这串数字的意思是:你正版office的序列号,哈哈
encache.EnsureModule('{00020905-0000-0000-C000-0000000046}',0,8,4)
"""
# 放弃了,换方法,有对这个感兴趣了,可以在论坛搜索一下很多,一模一样的例子
  • モジュールを使用する:doc2pdf、pywin32
  • インストール方法:pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple/ docx2pdf
    pip install pywin32 == 223
    • pywin32のインストール時に、いくつかの小さな問題が発生する可能性があります。直接インストールできない場合は、このURLをクリックしてバージョン223を直接ダウンロードできます。
    • https://sourceforge.net/projects/pywin32/files/pywin32/
      リンク:pywin32ダウンロードリンク
import os
from docx2pdf import convert
import common
import win32api

def wordtopdf2(filelist,targetfile):
    try:
        for fullfilename in filelist:
            filepath,filename = os.path.split(fullfilename)
            sortfilename = os.path.splitext(filename)
            pdfname = sortfilename[0]+'.pdf'
            pdfpath = os.path.join(targetfile,pdfname)
            convert(fullfilename, pdfpath)
    except Exception as e:
        print(e)
            
filelist = common.getfilenames(r'E:\签收单\1',r'E:\签收单\1\新建文件夹')
targetfile = r'E:\签收单\1'
wordtopdf2(filelist,targetfile)

おすすめ

転載: blog.csdn.net/baidu_20313315/article/details/112267793
おすすめ