文件夹照片批量插入word

def jpgtoword(): # 文件夹照片批量插入word
msgjpg = '''
############################################
####### 照片批量导入word归档系统V1.2 #######
############################################
功能:将当前程序文件所在目录或文件夹的照片,批量保存到word文件中,并建立调查点编号的索引,
结果保存为:照片批量导入word_result.doc。
注意:
1.要作为word索引的照片标记为调查点编号加-0.jpg,如FKQXK-01_02-0.jpg。
2.所有照片拷贝到py文件目录,文件命名规范,建议为jpg格式,第1张伟点位编码照片-0,第2张为-1,。。。。
研发团队:广东省核工业地质局辐射环境监测中心科技创新研发小组
研发组长:阙泽胜
研发日期:2020年7月4日
'''
print(msgjpg)
from docx import Document
import os, sys
from docx.shared import Inches

myDoucment = Document()




pictures = [fn for fn in os.listdir() if
            fn.endswith('.jpg') or fn.endswith('.gif') or fn.endswith('.png') or fn.endswith('.bmp') or fn.endswith(
                '.tif') or fn.endswith('.tiff') or fn.endswith('.jpeg' or fn.endswith('.psd'))]
# 获取path路径下文件夹中所有图片文件,endswith是字符串的方法,listdir()是列出文件夹下所有文件,
pictures.sort()  # 按页面顺序插入word
# print('pictures:', pictures)
# if x==0:

z = 0
x = float(input("请输入操作模式:0--默认按原照片尺寸插入;1-默认按页面宽修改照片尺寸;2-按宽度重设照片尺寸;3-按高度重设照片尺寸   请输入数字:"))
myDoucment.add_paragraph('照片索引')
if x == 0:
    print("0--默认按原照片尺寸插入")
    for fn in pictures:
        head = fn[-5]
        # print("fn:%s:" % fn, head)

        if head == '0':
            myDoucment.add_page_break()  # 插入分页符
            myDoucment.add_heading(fn.strip('-0.jpg'), level=1)  # 插入图片名称,作为一级标题生成目录
        myDoucment.add_paragraph(fn)  # 插入图片名称
        myDoucment.add_picture(fn)  # 0--默认按原照片尺寸插入 1英寸=25.4mm

elif x == 1:
    print("1-默认按页面宽修改照片尺寸")
    z = 14.64 / 2.54
    for fn in pictures:
        head = fn[-5]
        # print("fn:%s:" % fn, head)

        if head == '0':
            myDoucment.add_page_break()  # 插入分页符
            myDoucment.add_heading(fn.strip('-0.jpg'), level=1)  # 插入图片名称,作为一级标题生成目录
        myDoucment.add_paragraph(fn)  # 插入图片名称
        myDoucment.add_picture(fn, width=Inches(z))  # 0--默认按原照片尺寸插入 1英寸=25.4mm

elif x == 2:
    print("2-按宽度重设照片尺寸")
    y = float(input('请输入照片宽度(cm):'))
    z = float(y / 2.54)  # cm转为英寸
    for fn in pictures:
        head = fn[-5]
        # print("fn:%s:" % fn, head)

        if head == '0':
            myDoucment.add_page_break()  # 插入分页符
            myDoucment.add_heading(fn.strip('-0.jpg'), level=1)  # 插入图片名称,作为一级标题生成目录
        myDoucment.add_paragraph(fn)  # 插入图片名称
        myDoucment.add_picture(fn, width=Inches(z))  # 0--默认按原照片尺寸插入 1英寸=25.4mm
elif x == 3:
    print("3-按高度重设照片尺寸")
    y = float(input('请输入照片高度(cm):'))  # cm转为英寸
    z = float(y / 2.54)
    for fn in pictures:
        head = fn[-5]
        # print("fn:%s:" % fn, head)

        if head == '0':
            myDoucment.add_page_break()  # 插入分页符
            myDoucment.add_heading(fn.strip('-0.jpg'), level=1)  # 插入图片名称,作为一级标题生成目录
        myDoucment.add_paragraph(fn)  # 插入图片名称
        myDoucment.add_picture(fn, height=Inches(z))  # 0--默认按原照片尺寸插入 1英寸=25.4mm

else:
    sys.exit()


# 保存.docx文档
myDoucment.save('照片批量导入word_result.doc')
print("程序运行成功!结果保存到:照片批量导入word_result")
print("*" * 50)
os.system('pause')

####### main ########
jpgtoword()

end
因为不懂,所以要学; 因为平凡,所以努力。 因为有为,所以有位。 因为执着,所以精彩。
原文地址:https://www.cnblogs.com/quezesheng/p/13236317.html