当前位置: 首页 > news >正文

python-docx库的使用:图片插入到word文档里

import os
from docx import Document
from docx.shared import Cm
from docx.enum.text import WD_ALIGN_PARAGRAPHdef insert_images_simple(folder_path, output_path="图片汇总.docx", images_per_row=2, images_per_column=2):"""将图片插入Word文档"""# 获取图片文件image_extensions = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff']image_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if os.path.splitext(f)[1].lower() in image_extensions]if not image_files:print("未找到图片文件!")returnprint(f"找到 {len(image_files)} 张图片")# 创建文档doc = Document()# 设置页面边距section = doc.sections[0]section.top_margin = Cm(1)section.bottom_margin = Cm(1)section.left_margin = Cm(1)section.right_margin = Cm(1)# 计算每页图片数images_per_page = images_per_row * images_per_column# 插入图片for i, image_path in enumerate(image_files):if i % images_per_page == 0:if i > 0:doc.add_page_break()# 创建表格(默认无边框)table = doc.add_table(rows=images_per_column, cols=images_per_row)# 设置行高for row in table.rows:row.height = Cm(10)# 计算位置page_pos = i % images_per_pagerow = page_pos // images_per_rowcol = page_pos % images_per_row# 插入图片cell = table.rows[row].cells[col]paragraph = cell.paragraphs[0]paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTERtry:# 根据行列数调整图片大小if images_per_row == 2 and images_per_column == 2:width = Cm(8)  # 2×2布局elif images_per_row == 3 and images_per_column == 2:width = Cm(5.5)  # 3×2布局elif images_per_row == 3 and images_per_column == 3:width = Cm(5)  # 3×3布局else:width = Cm(8)  # 默认
            paragraph.add_run().add_picture(image_path, width=width)except Exception as e:print(f"跳过图片 {os.path.basename(image_path)}: {e}")# 保存
    doc.save(output_path)print(f"✓ 文档已保存: {os.path.abspath(output_path)}")print(f"✓ 共插入 {len(image_files)} 张图片")print(f"✓ 布局: {images_per_row}×{images_per_column}")if __name__ == "__main__":folder_path = r"D:\tmp\luping\shots_clean2"# 使用示例
    insert_images_simple(folder_path=folder_path,output_path="图片汇总.docx",images_per_row=2,images_per_column=2)

 

http://www.jsqmd.com/news/63518/

相关文章:

  • 微服务之Nacos(注册中心、安装中心)
  • 2025年知名的展示柜珠宝柜滑轨TOP品牌厂家排行榜
  • 2025年评价高的展示柜防摆动滑轨/稳定系统防摆动滑轨厂家最新权威推荐排行榜
  • 2025年热门的超薄三节隐藏轨/同步三节隐藏轨最新TOP品牌厂家排行
  • 2025年冷链冷库设计安装实力公司排名:专业冷库设计安装实力
  • 2025年比较好的明装反弹器厂家推荐及选购指南
  • 2025年比较好的龙门硬度计/里氏硬度计热门厂家推荐榜单
  • 2025年知名的金相检测厂家最新权威推荐排行榜
  • 2025 年往复丝杆制造厂家最新推荐榜,聚焦企业技术实力与市场口碑深度解析往复丝杆排线器 / 收线盒,卷扬机 / 双向 / 卷线机 / 八字轴 / 梯形 / 不锈钢 / 尼龙往复丝杆推荐
  • 编程语言基础概念
  • 2025 年石材养护服务商最新推荐榜,聚焦技术实力与市场口碑深度解析的优质品牌排行大理石石材翻新/石材维保托管/石材结晶/石材维修病变治理/石材清洗防护/石材仿古处理公司推荐
  • 2025年评价高的贵金属电刷实力厂家TOP推荐榜
  • 2025年热门的拉菲草纸绳厂家推荐及采购参考
  • 2025年知名的爬山小火车/景区小火车最新TOP厂家排名
  • 2025年知名的景区轨道观光小火车实力厂家TOP推荐榜
  • 2025年比较好的衣柜缓冲滑轨/反弹缓冲滑轨厂家最新权威实力榜
  • 2025 年聚氨酯砂浆厂家最新推荐榜:聚焦欧洲技术与一站式服务,精选优质企业权威指南水性聚氨酯砂浆 / 聚氨酯砂浆自流平公司推荐
  • 2025冷链冷库设计安装公司TOP5权威推荐:靠谱防爆冷库与
  • 2025年哈尔滨汽车贴膜服务推荐:哪家便宜靠谱?玻璃贴膜怎么
  • 2025年比较好的钻尾螺丝/木螺丝优质厂家推荐榜单
  • 2025 年聚氨酯砂浆地坪厂家最新推荐榜,聚焦品牌技术积淀与行业适配能力深度解析聚氨酯砂浆地坪 / 水性聚氨酯砂浆地坪公司推荐
  • Vue 2 进度提示完整代码
  • 2025年评价高的文创T恤定制/T恤定制厂家最新用户好评榜
  • 2025年热门的304不锈钢门吸TOP品牌厂家排行榜
  • 2025年评价高的影院音响用户好评厂家排行
  • 2025年评价高的土方铺路钢板租赁实力厂家TOP推荐榜
  • 2025年五大智能门窗制造商推荐,看看哪家门窗品牌质量好?
  • 2025年新能源汽车升级服务推荐:五大专业服务商全解析
  • 2025年靠谱的桌面型开炼机厂家推荐及选购参考榜
  • 2025年评价高的TA9钛棒/TA10钛棒优质厂家推荐榜单