Python-docx
模块可以用于 DOCX 文件的读取、解析、处理与保存。
但总归是有些限制。
PDF格式作为工作中的重点常用文件格式,PDF格式能够在打印的时候帮助保护文件的排版不被干扰, 从而能够更加“原汁原味“的还原出文件的内容;PDF格式不受系统的束缚, 不论是MAC、Linux、Windows,都能够打开,兼容性强。同时PDF格式还具有不能被修改的特点, 而word文档可能在不想修改时被修改。
场景说明
PDF文件格式的好处丰富且实用性强。这里看一下使用 Python 进行 DOCX 自动保存为 PDF 文档的方法。
解决思路
虽然 Python-docx
很强大,但是要保存成 PDF 文件却没有这么简单。
Python 可以进行 DOCX 文档解析,但是要实现较高质量的排版,
并不是文字处理功能能实现的。
要实现转换的功能,使用 comtypes
来调用 Word 软件完成。这就要求系统中已经安装有 Word 软件。
解决方法
使用 Python 读取文件另存为PDF格式,主要的步骤有两个:
- 打开word软件
- 另存为新文件
导入库,并且制定文件所在位置,一定要注意,windows下一定要使用绝对路径。
import os
import comtypes.client
打开word应用,然后另存为PDF格式,命名依旧使用word的文件名,所以不可能会出现重复的命名。
doc_name = 'indoc.docx
out_file = file_path+word_path.split(".")[0]+".pdf"
word=comtypes.client.CreateObject('Word.Application')
doc=word.Documents.Open(in_file)
doc.SaveAs(out_file,FileFormat=17)
doc.Close()
word.Quit()