Python将pdf转图片,下载照片/视频,编写Gui界面
效果图
1. pdf转图片
import os
import fitz
def pdf_to_images(pdf_file):
doc = fitz.open(pdf_file)
for p in doc:
pix = p.get_pixmap()
output = f"page{
p.number}.png"
pix.pil_save(output)
def convert_pdf2img(file_relative_path):
"""
file_relative_path : 文件相对路径
"""
page_num = 1
filename = file_relative_path.split('.')[-2]
if not os.path.exists(filename):
os.makedirs(filename)
pdf = fitz.open(file_relative_path)
for page in pdf:
rotate = int(0)
zoom_x = 2
zoom_y = 2
mat = fitz.Matrix(zoom_x, zoom_y)
pixmap = page.get_pixmap(matrix=mat, alpha=False)
pixmap.pil_save(f"{
filename}/{
page_num}.png")
print(f"第{
page_num}保存图片完成")
page_num = page_num + 1
if __name__ == "__main__":
pdf_to_images("docs/lxxy.pdf")
file_relative_path = "docs/lxxy.pdf"
convert_pdf2img(file_relative_path)
2. 下载照片
import internetdownloadmanager as idm
def Downloader(url, output):
pydownloader = idm.Downloader(worker=20,
part_size=1024 * 1024 * 10,
resumable=True, )
pydownloader.download(url, output)
Downloader('https://www.gyzpg.com/Uploads/20170223/14878214947491.jpg', 'image.jpg')
3. 编写Gui界面
from PySide2.QtWidgets import *
from PySide2.QtGui import *
import sys
app = QApplication(sys.argv)
window = QWidget()
window.resize(500, 500)
window.setWindowTitle("PySide2 Window")
button = QPushButton("Click Me", window)
button.move(200, 200)
label = QLabel("Hello Medium", window)
label.move(200, 150)
input_box = QLineEdit(window)
input_box.move(200, 250)
print(input_box.text())
radio_button = QRadioButton("Radio Button", window)
radio_button.move(200, 300)
checkbox = QCheckBox("Checkbox", window)
checkbox.move(200, 350)
slider = QSlider(window)
slider.move(200, 400)
progress_bar = QProgressBar(window)
progress_bar.move(200, 450)
image = QLabel(window)
image.setPixmap(QPixmap("docs/image.jpg"))
msg = QMessageBox(window)
msg.setText("消息框")
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
window.show()
sys.exit(app.exec_())
参考