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