from markitdown import MarkItDown from win32com import client office_id = 'kwps.Application' def docx_to_markdown(doc_file: str) -> str: """ 将.docx文件转换为Markdown格式文本。 该函数使用MarkItDown类的实例来处理传入的.docx文件,并将其内容转换为Markdown格式的文本。 主要步骤包括创建MarkItDown类的实例、调用实例的convert方法处理文件,最后返回转换后的文本内容。 参数: doc_file: str - .docx文件的路径,应包含文件名和扩展名。 返回: str - 转换后的Markdown格式文本。 """ # 创建MarkItDown类的实例 md = MarkItDown() # 使用MarkItDown实例转换.docx文件为Markdown格式文本 result = md.convert(doc_file) # 返回转换后的文本内容 return result.text_content def doc_to_docx(doc_file: str, docx_file: str) -> None: """ 将.doc文件转换为.docx文件。 参数: doc_file (str): 输入的.doc文件路径。 docx_file (str): 输出的.docx文件路径。 返回: None """ try: word = client.Dispatch(office_id) doc = word.Documents.Open(doc_file) doc.SaveAs(docx_file, 12) # 参数12表示保存为.docx格式 doc.Close() word.Quit() print(f"文件 {doc_file} 已成功转换为 {docx_file}!") except Exception as e: print(f"出现错误: {e}") def docx_to_pdf(docx_file: str, pdf_file: str) -> None: """ 将.docx文件转换为.pdf文件。 参数: docx_file (str): 输入的.docx文件路径。 pdf_file (str): 输出的.pdf文件路径。 返回: None """ try: word = client.Dispatch(office_id) doc = word.Documents.Open(docx_file) doc.SaveAs(pdf_file, 17) # 17 表示保存为.pdf格式 doc.Close() word.Quit() print(f"文件 {docx_file} 已成功转换为 {pdf_file}!") except Exception as e: print(f"出现错误: {e}")