01/10/2018, 13:40

Python convert word tới PDF

folder = 'E:\Code\Quanlytailieu\media\documents\upload'
pdf = "E:\Code\Quanlytailieu\media\documents\pdf"
words = 'E:\Code\Quanlytailieu\media\documents\word'

chdir(folder)


def con():
    try:
        word = client.DispatchEx("Word.Application")
        for files in listdir(getcwd()):
            if files.endswith(".docx"):
                new_name = files.replace(".docx", r".pdf")
                in_file = path.abspath(folder + "\" + files)
                new_file = path.abspath(pdf + "\" + new_name)
                doc = word.Documents.Open(in_file)
                print(strftime("%H:%M:%S"), " docx -> pdf ", path.relpath(new_file))
                chdir(pdf)
                doc.SaveAs(new_file, FileFormat=17)
                doc.Close()
                shutil.move(folder + "\" + files, words + "\" + files)
    # if files.endswith(".doc"):
    #     new_name = files.replace(".doc", r".pdf")
    #     in_file = path.abspath(folder + "\" + files)
    #     new_file = path.abspath(pdf + "\" + new_name)
    #     doc = word.Documents.Open(in_file)
    #     print(strftime("%H:%M:%S"), " doc  -> pdf ", path.relpath(new_file))
    #     chdir(pdf)
    #     doc.SaveAs(new_file, FileFormat=17)
    #     doc.Close()
    #     shutil.move(in_file, words + "\" + files)
    #     chdir(folder)
    #     remove(files)

    except Exception as e:
        print("Exception: ", e)
    finally:
        word.Quit()

Em để ngoài hàm thì convert được nhưng để bên trong hàm thì biến word ở cuối cùng nó báo là: Local variable ‘word’ might be referenced before assigment. Làm thế nào để sửa đây ạ?

Dark.Hades viết 15:44 ngày 01/10/2018

Đặt word lên trước try, có thể khai báo cho nó một giá trị null

Bài liên quan
0