Python将pdf转图片,下载照片/视频,编写Gui界面

Python将pdf转图片,下载照片/视频,编写Gui界面

效果图

在这里插入图片描述

在这里插入图片描述

1. pdf转图片

# PDF to Images
# pdf2image.py

# pip install PyMuPDF
# pip install tools
import os

import fitz


# 方法1
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)


# 方法2
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)
        # 每个尺寸的缩放系数为2,这将为我们生成分辨率提高4的图像。
        # 此处若是不做设置,默认图片大小为:792X612, dpi=96
        zoom_x = 2  # (2-->1584x1224)
        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. 下载照片

# 互联网下载器 可以使用下载软件从 Internet 下载照片或视频,但现在可以使用 Python IDM 模块创建自己的下载器。

# Python 下载器
# pip install internetdownloadmanager
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')
# Downloader('链接 url', 'video.mp4')

3. 编写Gui界面

# PySide2图形用户界面
# 此自动化脚本将帮助您使用 PySide2 Gui 模块创建 GUI 应用程序

# PySide 2
# pip install PySide2
from PySide2.QtWidgets import *
from PySide2.QtGui import *
import sys

app = QApplication(sys.argv)
window = QWidget()
# 调整窗口大小
window.resize(500, 500)
# 设置窗口Title
window.setWindowTitle("PySide2 Window")
# 添加按钮
button = QPushButton("Click Me", window)
button.move(200, 200)
# 添加标签 Text
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_())

参考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛一枚~

您的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值