1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python将图片插入word文件的指定位置 并转为pdf文件

python将图片插入word文件的指定位置 并转为pdf文件

时间:2019-04-08 17:41:39

相关推荐

python将图片插入word文件的指定位置 并转为pdf文件

1、需求说明

现需要做一份数据报告,报告中只需插入少量图片,其他部分的文字和格式不变,需要将图片插入word文件的指定位置,并最终生成一份pdf报告。注意:是基于已有word文件插入图片,不是创建word文件的同时插入图片。

本文将图片插入指定位置的方法,是使用“表格定位”法。所使用的第三方库为:python-docx (操作word文件),win32com(word文件转成pdf),所需自行安装。

2、效果展示

在word文件中实现任意位置插入图片,同时,可通过设置表格的格式,将插入图片的位置进行居中显示,表格的框线去除等。

3、代码展示

以下代码可实现上述所有内容,各位小伙伴可根据自己需求再进行优化。

from win32com.client import constants,gencachefrom docx import Documentfrom docx.shared import Inches,Pt,Cm# 将图片插入word指定位置def save_img_to_doc(img):loc_doc = 'C:\\Users\\dongjunli\\Desktop\\report.docx' rloc_doc = 'C:\\Users\\dongjunli\\Desktop\\r_report.docx'# 打开模板文件document = Document(loc_doc)document.tables #搜索word里面所有的表格tb1=document.tables[4] #选好将图片插入的位置,以表格的位置来确定,‘4’代表第5个表格tb1.cell(0, 0).paragraphs[0].add_run().add_picture(img) #在表格(0,0)位置的单元格的第一个段落里添加图像# print('图形图像的数量:', len(document.inline_shapes))document.inline_shapes[0].height = Cm(10.55) #指定插入图片的高度document.inline_shapes[0].width = Cm(14.55) #指定插入图片的宽度document.save(rloc_doc) #保存为新的word文件# word文件转换为pdf文件def word2pdf(rloc_doc,pdfPath):wordPath = rloc_docword = gencache.EnsureDispatch('Word.Application')doc = word.Documents.Open(wordPath,ReadOnly=1)doc.ExportAsFixedFormat(pdfPath,constants.wdExportFormatPDF)if __name__ == '__main__':img = 'C:\\Users\\dongjunli\\Desktop\\figure.png'save_img_to_doc(img)rloc_doc = 'C:\\Users\\dongjunli\\Desktop\\r_report.docx'pdfPath = 'C:\\Users\\dongjunli\\Desktop\\r_report.pdf'word2pdf(rloc_doc,pdfPath)

如有帮到您,还能帮忙点赞以下,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。