文件夹照片批量插入word

时间:2024-03-01 14:31:18

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