大家好,我是【Python办公自动化】:闲暇之余分享点文字、编程、设计等干货,希望和你一起成长。
一起学习Python办公自动化,教你快速学习Python的方法,可以站内私信我。
有时候直接生成PDF比较困难,可以换个思路,先生成Word文档,再使用win32com库将Word文档转为PDF文档,这样的转换基本上100%保留了Word的样式。总之生成Word文档要比生成PDF文档简单。
使用win32com这个库来进行底层功能的处理。win32com库封装了Windows中关于Office组件编程的的一些东西。利用这个库可以对Word格式进行转换,比如doc转为docx,doc转为pdf等等,这些功能使用其它库很难完成。
使用win32com库,只需要执行以下安装命令。
pip install pywin32
通过下段代码演示将Word转为PDF文档。
from win32com.client import gencache
from win32com.client import constants
import os
curpath = os.path.dirname(__file__)
wordfilename = os.path.join(curpath, '电子简历.docx')
pdffilename = os.path.join(curpath, '电子简历.pdf')
#wordPath: word文件路径,pdfPath: 生成pdf文件路径
def word_to_pdf(wordPath, pdfPath): #word转pdf
if os.path.exists(pdfPath):
os.remove(pdfPath)
word = gencache.EnsureDispatch('Word.Application')
doc = word.Documents.Open(wordPath)
doc.ExportAsFixedFormat(pdfPath,constants.wdExportFormatPDF)
word.Quit()
if __name__=='__main__':
word_to_pdf(wordfilename,pdffilename)
代码执行后生成电子简历.pdf,打开如图所示。
迎双节,新专栏【深度讲解Python办公自动化】,优惠大,福利多。