推荐一个界面设计软件aardio,配合python三分钟制作一个小软件。【批量doc文件转docx文件】

news2024/11/30 8:48:49

文章目录

  • 前言
  • 一、aardio软件代码
  • 二、python代码
  • 总结


前言

aardio这个软件不多说,好用方便。


一、aardio软件代码

import win.ui;
/*DSG{{*/
mainForm = win.form(text="批量doc文件转docx文件";right=623;bottom=171)
mainForm.add(
button={cls="button";text="选择待转换目录";left=319;top=48;right=433;bottom=76;z=1};
button2={cls="button";text="选择保存目录";left=319;top=92;right=432;bottom=118;z=2};
button3={cls="button";text="开启转换";left=457;top=51;right=597;bottom=121;z=5};
edit={cls="edit";left=37;top=47;right=300;bottom=76;edge=1;multiline=1;z=3};
edit2={cls="edit";text="开启转换以后没那么快,需要等待一点时间";left=36;top=92;right=302;bottom=120;edge=1;multiline=1;z=4}
)
/*}}*/

import py3;

import fsys.dlg 

/*
import console;
import py3.pip;
py3.pip("install","pywin32")
*/

py3.exec($"\res\fh.py");


mainForm.button.oncommand = function(id,event){
	mainForm.edit.text = fsys.dlg.opendir()

}

mainForm.button2.oncommand = function(id,event){
	mainForm.edit2.text = fsys.dlg.opendir()
}

mainForm.button3.oncommand = function(id,event){
	py3.main.GetDocx(py3.export(mainForm))
	mainForm.msgbox("转换成功")

}

mainForm.show();
return win.loopMessage();

第一次运行的时候,下面代码要先跑一下,才会把相关的库放到项目的文件夹内。

import console;
import py3.pip;
py3.pip("install","pywin32")

运行以后相关的库就在项目的文件夹内,一会一起打包生成exe文件。

二、python代码

import os
from win32com import client as wc
import time
import shutil

def GetDocx(mainForm):
    original_path = mainForm.edit.text
    new_path = mainForm.edit2.text

    if not os.path.exists(new_path):
        os.makedirs(new_path)

    files = [file for file in os.listdir(original_path) if file.endswith(('.doc', '.docx')) and not file.startswith('~$')]
    
    
    for file in files:
        word = wc.Dispatch("Word.Application")
        print("已处理文件:" + file)
        file_path = os.path.join(original_path, file)
        new_file_path = os.path.join(new_path, file)

        # 对于doc文件,先转换成docx
        if file.endswith('.doc'):
            doc = word.Documents.Open(file_path)
            # 删除文件扩展名,添加新的扩展名.docx
            new_file_path = os.path.splitext(new_file_path)[0] + '.docx'
            doc.SaveAs(new_file_path, 12)  # 12表示docx格式
            doc.Close()
            word.Quit()
            time.sleep(0.5)  # 暂停0.5秒
        # 对于docx文件,直接复制
        elif file.endswith('.docx'):
            shutil.copy2(file_path, new_file_path)

代码很短,要关注几个地方。

original_path = mainForm.edit.text
new_path = mainForm.edit2.text

这2行代码是从aardio软件中获取edit编辑框的文本,其实就是文件途径。
延时是为了使软件稳定,太快就报错。

aardio程序中是通过py3.main.GetDocx(py3.export(mainForm))调用这个GetDocx函数的,其他的就不说了,先用用这个软件把。


总结

软件界面如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1299671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例015:基于微信小程序的校园防疫系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

[论文浅谈] Can ChatGPT Replace Traditional KBQA Models?

一 背景意义 ChatGPT是一款强大的大型语言模型(LLM),它通过学习大量文本数据,包括维基百科等知识资源,使其具备广泛的自然语言理解能力。ChatGPT通过利用自己的知识展示的强大的问答能力使人们对于探索ChatGPT是否能够…

SpringMVC修炼之旅(3)REST风格与拦截器

一、概述 1.1简介 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 1.2功能 资源:互联网所有的事物都可以被抽象为资源 资源操作…

CleanMyMac X2024最新专业苹果电脑mac系统垃圾清理软件

CleanMyMac X是一款颇受欢迎的专业清理软件,拥有十多项强大的功能,可以进行系统清理、清空废纸篓、清除大旧型文件、程序卸载、除恶意软件、系统维护等等,并且这款清理软件操作简易,非常好上手,特别适用于那些刚入手苹…

VSCode Keil Assintant 联合开发STM32

文章目录 VSCodeKeil AssistantUV5🥇软件下载🥇配置环境🥇插件安装🥈C/C Extension Pack🥉C/C Extension Pack介绍🥉插件安装 🥈Keil Assistant🥉Keil Assistant介绍🥉插…

onnxruntime和tensorrt多batch推理

以lenet网络为例。 onnxruntime多batch推理 当batch size为2时,导出如下结构的onnx文件: python推理: import cv2 import numpy as np import onnxruntimeimg0 cv2.imread("2.png", 0) img1 cv2.imread("10.png", …

App备案、ios备案Bundle ID查询、公钥信息、SHA-1值

App备案、ios备案Bundle ID查询、公钥信息、SHA-1值 Bundle ID这个就不说了,都知道是啥,主要说公钥信息和SHA-1值的获取 打开钥匙串访问,找到当前需要备案App的dis证书,如下: #####右键点击显示简介 #####可以看…

用友U8 Cloud 多处反序列化RCE漏洞复现

0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 Cloud存在多处(TableInputOperServlet、LoginServlet 、FileTransportServlet、CacheInvokeServlet、ActionHandlerServlet、Servle…

LeetCode力扣每日一题(Java):28、找出字符串中第一个匹配项的下标

别问我为什么今天做了两题,问就是我干概率论干废了,需要换换脑子想想不同类型的问题,所以来刷刷算法 一、题目 二、解题思路 1、我的思路 其实这题思路还挺简单的,我直接把代码放这,大家应该稍微看看就能懂 char[]…

如何使用 Google 的 Gemini

Google Gemini介绍 Google Gemini是谷歌发布的人工智能大模型,能够在从数据中心到移动设备等不同平台上运行。 Gemini包括一套三种不同规模的模型: Gemini Ultra是最大、功能最强大的类别,被定位为GPT-4的竞争对手;Gemini Pro是…

软件设计之组合模式

组合模式:将对象组合成树形结构。 案例:公司管理。一个公司可以分总公司和分公司,无论是总公司还是分公司都有自己的部门,如人力资源管理部门、财务部门。分公司可以建立自己在不同地域的办事处。请使用组合模式打印出某个公司的…

十年前端之离别的旋律

在一家名叫“梦想家”的小公司里,有一个普通的程序员,他的名字叫做小帅。每天默默地坐在角落里,默默地写着代码,默默地为公司付出。他的眼睛里总是充满了对工作的热爱和对生活的热情,但他的内心却隐藏着一个秘密&#…

[架构之路-261]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 网络数据交换格式

一、网络数据交换格式 1.1 什么是网络数据交换格式 网络数据交换格式指的是在计算机网络中传输和存储数据时所采用的特定格式。 它定义了数据的组织方式、结构和编码规则,以便不同系统和应用程序之间能够准确地解析和处理数据。 网络数据交换格式的主要目的是&a…

猿人学第一题 js混淆 双重加密(详解)

当我们点击分页的时候可以确定这个请求过程是ajax请求,所以直接使用抓包工具找到储存信息的请求。 找到这个请求之后,我们明显发现?后面的参数m是一个加密过的 由于这个请求属于ajax请求,现在我们可以直接使用xhr断点调试找到位置 打上断电…

实用篇 | 一文快速构建人工智能前端展示streamlit应用

----------------------- 🎈API 相关直达 🎈-------------------------- 🚀Gradio: 实用篇 | 关于Gradio快速构建人工智能模型实现界面,你想知道的都在这里-CSDN博客 🚀Streamlit :实用篇 | 一文快速构建人工智能前端展…

JavaEE 09 锁策略

1.锁策略 1.1 乐观锁与悲观锁 其实前三个锁是同一种锁,只是站在不同的角度上去进行描述,此处的乐观与悲观其实是指在预测的角度上看会发生锁竞争的概率大小,概率大的则是悲观锁,概率小的则是乐观锁 乐观锁在加锁的时候就会做较少的事情,加锁的速度较快,但是消耗的cpu资源等也会…

代码随想录二刷 |二叉树 |94.二叉树的中序遍历

代码随想录二刷 |二叉树 |二叉树的中序遍历 题目描述解题思路代码实现迭代法递归法 题目描述 94.二叉树的中序遍历 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出&a…

系统架构设计师教程(二)计算机系统基础知识

系统架构设计师 2.1 计算机系统概述2.2 计算机硬件2.2.1 计算机硬件组成2.2.2 处理器2.2.3 存储器2.2.4 总线2.2.5 接口2.2.6 外部设备 2.3 计算机软件2.3.1 计算机软件概述2.3.2 操作系统2.3.3 数据库关系数据库关系数据库设计的特点及方法关系数据库设计的基本步骤 分布式数据…

[Linux] nginx防盗链与优化

一、Nginx的页面优化 1.1 Nginx的网页压缩 在Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。进行相关的配置修改,就能实现Nginx页面的压缩,达到节约带宽,提升用户访问速度 vim /usr/local/nginx/conf/nginx.conf http { .…

【trino权威指南】使用trino详解:trino client安装、查询sql、DBeaver连接trino、java通过JDBC连接trino

文章目录 一. Trino CLI1. 安装client2. 使用client执行sql 二. JDBC driver 连接Trino1. 通过DBeaver用户界面连接2. JDBC Driver in java2.1. 环境配置2.2. 注册和配置driver2.3. 连接参数2.4. 查询例子 一. Trino CLI 1. 安装client Trino CLI提供了一个基于终端的交互式s…