目录
使用 comtypes 或 win32com
使用docx2pdf
使用 comtypes 或 win32com
支持docx和doc格式的文档转PDF,comtypes与win32com底层调用一样,使用方法也一样。保存文件时相当于调用了office中的另存为。只需要修改SaveAs中的FileFormat参数值即可转为对应格式的文件。
| office 2007支持的全部文件格式对应表 | |
| wdFormatDocument | 0 |
| wdFormatDocument97 | 0 |
| wdFormatDocumentDefault | 16 |
| wdFormatDOSText | 4 |
| wdFormatDOSTextLineBreaks | 5 |
| wdFormatEncodedText | 7 |
| wdFormatFilteredHTML | 10 |
| wdFormatFlatXML | 19 |
| wdFormatFlatXMLMacroEnabled | 20 |
| wdFormatFlatXMLTemplate | 21 |
| wdFormatFlatXMLTemplateMacroEnabled | 22 |
| wdFormatHTML | 8 |
| wdFormatPDF | 17 |
| wdFormatRTF | 6 |
| wdFormatTemplate | 1 |
| wdFormatTemplate97 | 1 |
| wdFormatText | 2 |
| wdFormatTextLineBreaks | 3 |
| wdFormatUnicodeText | 7 |
| wdFormatWebArchive | 9 |
| wdFormatXML | 11 |
| wdFormatXMLDocument | 12 |
| wdFormatXMLDocumentMacroEnabled | 13 |
| wdFormatXMLTemplate | 14 |
| wdFormatXMLTemplateMacroEnabled | 15 |
| wdFormatXPS | 18 |
# from comtypes import client
from win32com import clientdef doc_to_pdf(doc_path, pdf_path):# word = client.CreateObject('Word.Application') # 创建word实例对象word = client.Dispatch('Word.Application')word.Visible = False # 不显示Word应用程序窗口doc = word.Documents.Open(doc_path)doc.SaveAs(pdf_path, FileFormat=17) # 将文档保存为PDF格式,17代表PDF格式(txt=4, html=10, docx=16, pdf=17)# 关闭文档和Word应用程序doc.Close()word.Quit()del docdel word
使用docx2pdf
docx2pdf是封装了Windows 系统 win32com 及macos系统处理文件的应用库,只支持docx格式文件转PDF。安装后一行代码即可使用。
安装:pip install docx2pdf
from docx2pdf import convertdef docx_to_pdf(doc_path, pdf_path):convert(doc_path, pdf_path)