当前位置: 首页 > news >正文

韩国网站域名分类公司网站的作用

韩国网站域名分类,公司网站的作用,网址导航怎么彻底删除,wordpress电商建站前言:日常生活中,我们常常会跟WPS Office打交道。作表格,写报告,写PPT......可以说,我们的生活已经离不开WPS Office了。与此同时,我们在这个过程中也会遇到各种各样的技术阻碍,例如部分软件的PDF转Word需要收取额外费用等。那么,可不可以自己开发一个小工具来实现PDF转…

前言:日常生活中,我们常常会跟WPS Office打交道。作表格,写报告,写PPT......可以说,我们的生活已经离不开WPS Office了。与此同时,我们在这个过程中也会遇到各种各样的技术阻碍,例如部分软件的PDF转Word需要收取额外费用等。那么,可不可以自己开发一个小工具来实现PDF转Word这个功能呢?答案是肯定的,Python生来就是为应用层开发的。话不多说,我们直接开始今天的Python学习之路-利用Python编写一个基于PyQt5,pdf2docx,pathlibPDF转Word工具

编程思路:本次编程我们将会调用到PyQt5,pdf2docx,pathlib,datetime,sys,os等库。其中,PyQt5提供了图形用户交互界面,线程池,信号槽等槽点。pdf2docx则负责将PDF文档转换为Word文档。pathlib获取生成的Word文档的绝对路径,并保证Word文档存放在系统的指定位置。datetime库用来获取系统当前的时间参数,并将其以时间戳的形式给生成的Word文档命名,这对用户后面方便搜索和查询文件详细信息非常重要。sys使我们与Python解释器(PyCharm)进行交互、以及控制程序的执行成为了可能。本次编程中,os库被用于启动文件浏览器(os.startfile),以便我们选择要转换的 PDF 文件。具体来说,我们可以用它在 Windows 系统上打开所想要转换的PDF的所在文件或目录。

第一步:导入库

标准库:pathlib,sys,os,datetime。

第三方库:PyQt5,pdf2docx。

#导入库
import sys
import os
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt, QThread, pyqtSignal
from pdf2docx import Converter
from pathlib import Path
from datetime import datetime

第二步:建立功能类

这一步中我们需要建立两个类:1,线程进度类  2,转换窗口类。

线程进度类:负责PDF文档从PDF格式转换为Word格式的目录创建,格式转换,新文件生成等步骤的执行。

转换窗口类:负责PDF文档转Word文档过程中GUI各控件(按钮,主窗口,进度条,信息框等)的布局。

#线程进度类
class ConversionThread(QThread):progress_updated = pyqtSignal(int, str)  # 添加进度描述conversion_finished = pyqtSignal(bool, str)#线程初始化def __init__(self, pdf_path, output_dir):super().__init__()self.pdf_path = pdf_pathself.output_dir = output_dirself.docx_path = ""def run(self):try:# 创建输出目录output_path = Path(self.output_dir)output_path.mkdir(parents=True, exist_ok=True)# 生成带时间戳的文件名timestamp = datetime.now().strftime("%Y%m%d%H%M%S")original_name = Path(self.pdf_path).stemself.docx_path = str(output_path / f"{original_name}_{timestamp}.docx")# 初始化转换器cv = Converter(self.pdf_path)# 获取总页数用于进度计算total_pages = len(cv.pages)current_page = 0def detailed_progress(progress, description):nonlocal current_pageif description["event"] == "page_parsed":current_page += 1page_progress = int((current_page / total_pages) * 100)self.progress_updated.emit(page_progress,f"正在解析第 {current_page}/{total_pages} 页...")elif description["event"] == "created":self.pro
http://www.dinnco.com/news/8502.html

相关文章:

  • 做招聘网站的背景图片电池优化大师下载
  • 男做暧免费视频网站数据分析师培训机构
  • 做网站需要哪些技术知乎seo公司重庆
  • 租房网站发布信息的免费平台有哪些
  • 自己做网站怎么搜索电脑办公软件培训班
  • 百度站长工具数据提交知乎营销推广
  • 如何连接wordpress河北seo推广方案
  • 51网站空间相册在哪里国外网站怎么推广
  • 广西建设厅官网站首页站长工具大全
  • 手机网站设计的项目描述杭州seo服务公司
  • 宁晋网站开发百度关键词多少钱一个月
  • 天津手机网站建设百度查一下
  • 湖南网站建设开发台州网站建设优化
  • 企业网站设计合同关键词排名
  • 做网站建设的怎么拓展业务小程序推广方案
  • 福安建设厅网站seo产品推广
  • 深圳台历制作搜索引擎排名优化技术
  • 做瞹视频网站枸橼酸西地那非片
  • 沈阳网站建设推广服务aso优化的主要内容
  • 咨询网站模板seochinazcom
  • 网站怎么做外链接地址win10优化大师官网
  • 找装修seo基础教程视频
  • 百度做的网站靠谱吗百度官网推广平台电话
  • 深圳家装网站建设多少钱如何在互联网推广自己的产品
  • 个人电脑建网站广东最新消息
  • 网页设计与制作黑马程序员seo优化顾问服务阿亮
  • 网站改版专题页2022最新国内新闻50条简短
  • 具有品牌的做网站汕头seo排名收费
  • 网站网页制作公司信息流广告优化师培训
  • 推广思路及执行方案搜索引擎的优化方法