python PDF转jpg,并且实现界面化

编程入门 行业动态 更新时间:2024-10-06 10:36:20

python PDF转jpg,并且实现<a href=https://www.elefans.com/category/jswz/34/1769995.html style=界面化"/>

python PDF转jpg,并且实现界面化

python PDF转jpg,并且实现界面化

-- coding: utf-8 --

import sys, fitz
import os
import stat
import shutil
import datetime
from PIL import Image
import re, traceback
import winerror
from win32com.client.dynamic import Dispatch, ERRORS_BAD_CONTEXT
from PyQt5 import QtCore, QtGui, QtWidgets
import cv2, glob
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog
from PyQt5.QtWidgets import QMessageBox
def pdf_jpg(pdfPath, my_dir, name_pdf):

ERRORS_BAD_CONTEXT.append(winerror.E_NOTIMPL)#my_dir = r'D:\jpg\\' + str(tem)
if not os.path.exists(my_dir):#判断存放图片的文件夹是否存在os.makedirs(my_dir)
# my_pdf = "1.pdf"# #os.chdir(my_dir)
# src = os.path.abspath(my_pdf)
#print(pdfPath)
try:AvDoc = Dispatch("AcroExch.AVDoc")if AvDoc.Open(pdfPath, ""):pdDoc = AvDoc.GetPDDoc()jsObject = pdDoc.GetJSObject()jsObject.SaveAs(os.path.join(my_dir, '%s.jpg'%name_pdf), "com.adobe.acrobat.jpeg")except Exception as e:print(str(e))finally:AvDoc.Close(True)jsObject = NonepdDoc = NoneAvDoc = None

def all_files_path(df_path):
filepaths = []
for root, dirs, files in os.walk(df_path): # 分别代表根目录、文件夹、文件
for file in files: # 遍历文件
file_path = os.path.join(root, file) # 获取文件绝对路径
#print(file_path)
if file_path[-4:].lower() == ‘.pdf’:
filepaths.append(file_path) # 将文件路径添加进列表
for dir in dirs: # 遍历目录下的子目录
dir_path = os.path.join(root, dir) # 获取子目录路径
all_files_path(dir_path)
return filepaths

def pdf_jpg_m(path_pdf_z, path_bc):
try:
self.textEdit_pdf_jpg.append(‘开始转换···’)
list_pdf = all_files_path(path_pdf_z)
jd_pl = 100 / len(list_pdf)
jd = 100 / len(list_pdf)
for path_pdf in list_pdf:
try:
path_bc_pdf_w, name_pdf = os.path.split(path_pdf.replace(path_pdf_z, path_bc))
name_pdf = os.path.splitext(name_pdf)[0]
if not os.path.exists(path_bc_pdf_w):
os.mkdir(path_bc_pdf_w)
pdf_jpg(path_pdf, path_bc_pdf_w, name_pdf)
except:
self.textEdit_pdf_jpg.append(‘转换失败-%s’%path_pdf)
self.progressBar_pdf_jpg.setProperty(“value”, jd)
QApplication.processEvents()
jd = jd + jd_pl
self.textEdit_pdf_jpg.append(‘PDF转换jpg完成’)
if QMessageBox.information(None, ‘提示’, “转换完成,是否打开文件夹进行查看”,
QMessageBox.Yes | QMessageBox.No) == 16384:
os.startfile(pdf_name1)
except:
self.textEdit_pdf_jpg.append(‘出错了%s\n’ % traceback.format_exc())

##################################界面操作#########################################

def pdf_jpg_main(self):
def askdirectory_word_pdf_xz():
“”“”“”
_translate = QtCore.QCoreApplication.translate
folder = QFileDialog.getExistingDirectory()
self.lineEdit_pdf_jpg_1.setText(_translate(“Form”, folder))

def askdirectory_word_pdf_bc():""""""_translate = QtCore.QCoreApplication.translatefolder = QFileDialog.getExistingDirectory()self.lineEdit_pdf_jpg_2.setText(_translate("Form", folder))def jpg_pdf():path_word = self.lineEdit_pdf_jpg_1.text()path_bc = self.lineEdit_pdf_jpg_2.text()pdf_jpg_m(path_word, path_bc)self.pushButton_pdf_jpg.clicked.connect(jpg_pdf)
self.toolButton_pdf_jpg.clicked.connect(askdirectory_word_pdf_xz)
self.toolButton_pdf_jpg_2.clicked.connect(askdirectory_word_pdf_bc)

if name == ‘main’:
import jm
app = QApplication(sys.argv)
MainWindow = QMainWindow() # QMainWindow模块名
self = jm.Ui_MainWindow()
self.setupUi(MainWindow)
pdf_jpg_main(self)

MainWindow.show()
sys.exit(app.exec_())

更多推荐

python PDF转jpg,并且实现界面化

本文发布于:2024-02-13 10:19:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1758375.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:界面   python   PDF   jpg

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!