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
    因为不懂,所以要学; 因为平凡,所以努力。 因为有为,所以有位。 因为执着,所以精彩。
  • 相关阅读:
    安装MySQL(简便)
    许愿墙的搭建(基于Apache+php+mysql)
    httpd服务的安装、配置和关于php留言本网站的搭建
    Linux系统的初化始配置(包括配置网络,修改主机名,关闭firewalld与selinux的生效)
    Linux系统root用户忘记密码的重置方法
    Linux下面CentOS 7桌面的安装
    通过挂载系统光盘搭建本地yum仓库的方法
    时间同步ntp服务的安装与配置(作为客户端的配置)
    larbin
    Larbin的安装与配置
  • 原文地址:https://www.cnblogs.com/quezesheng/p/13236317.html
Copyright © 2011-2022 走看看