Python 的 word 占位符批量插入图片,新手..不知道代码哪里出问题

讨论 未结 5 47
jbue520
jbue520 会员 2022年4月25日 12:16 发表
<pre><code class="language-python">from docx import Document from docx.shared import Inches import glob from os import listdir from docx.oxml.ns import qn from docx.enum.text import WD_ALIGN_PARAGRAPH def center_insert_img(doc,img): """插入图片""" for paragraph in doc.paragraphs: # 根据文档中占位符定位图片插入的位置 if '&lt;&lt;img1&gt;&gt;' in paragraph.text: paragraph.text = paragraph.text.replace('&lt;&lt;img1&gt;&gt;', '') run = paragraph.add_run('') run.add_break() run.add_picture(img, width=Inches(6.2)) def save_img_to_doc(img): tpl_doc = r'D:\py\归档模版.docx' res_doc = r'D:\py\空港.docx' document = Document(tpl_doc) center_insert_img(document,img) document.save(res_doc) def main(): path = r'C:\Users\durpa\Desktop\身份证\*.jpg' # img = 'C:\\Users\\durpa\\Desktop\\身份证\\75+' for img in glob.glob(path): print(img) save_img_to_doc(img) if __name__ == '__main__': main() </code></pre> <p>代码能运行,但是只能插入一张图...还请大神指教一下..感谢</p>
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
5个回复
  • paopjian
    2022年4月25日 12:45
    save_img_to_doc(img)得在 for 范围里
    0 0
  • zhzy
    2022年4月25日 14:48
    根据你的代码 main() 里面的 save_img_to_doc(img) 只运行了一次, 也就是只插入了最后一个 img
    0 0
  • jbue520
    2022年4月25日 14:48
    哦,那就是 save_img_to_doc(img) 需要在做一个循环...我先试试,,感谢感谢
    0 0
  • zhzy
    2022年4月25日 14:48
    save_img_to_doc(img) 和 print(img) 要保持一样的缩进
    0 0
  • jbue520
    2022年4月25日 14:48
    已经一样的缩进了,但是却还是只插入了一张图..
    0 0