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()