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

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

    • 效果图
    • 1. pdf转图片
    • 2. 下载照片
    • 3. 编写Gui界面
    • 参考

效果图

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

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

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_())

参考

  • https://medium.com/@chenyumei8866/10-killer-python-automation-scripts-f305d7261d55

你可能感兴趣的:(Python,OpenCV,Python进阶,图像处理,python,pdf,音视频,pdf2image,Python,Gui界面)