zoukankan      html  css  js  c++  java
  • 文件夹照片批量插入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
    因为不懂,所以要学; 因为平凡,所以努力。 因为有为,所以有位。 因为执着,所以精彩。
  • 相关阅读:
    redisLock redis分布式锁
    Mabitis中的#与$符号区别及用法介绍
    pring Scheduler定时器原理分析
    SpringBoot几种定时任务
    线程池的理解
    JVM的方法区和永久带是什么关系
    JVM老年代和新生代的比例
    IO 与 NIO
    对mysql乐观锁、悲观锁、共享锁、排它锁、行锁、表锁概念的理解
    TCP滑动窗口控制流量的原理
  • 原文地址:https://www.cnblogs.com/quezesheng/p/13236317.html
Copyright © 2011-2022 走看看