python 打开PDF文件并显示窗口上

这篇具有很好参考价值的文章主要介绍了python 打开PDF文件并显示窗口上。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python 打开PDF文件并显示

打开一个指定pdf文件,将pdf文件中第一页显示在窗口上

依赖包提前安装

pip install PyMuPDF
pip install PyQt5

代码部分



from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QImage, QPixmap, QTransform
import fitz


class Window(QWidget):  # 定义类继承自
    def __init__(self):
        super().__init__()  # 调用父类init方法
        self.setWindowTitle("beta1")
        
        self.setFixedSize(640,800)  #设置主窗口大小并且锁定
        self.setup_ui()
        self.image()

    def setup_ui(self):
        self.label = QLabel("标签显示文字", self)
        self.label.move(20,20) # 控件的偏移量

    def image(self):
        file = "2.pdf" #指定文件的位置
        # 打开文件
        doc = fitz.open(file)
        # 读取一页 0代表第1页
        page_one = doc.load_page(0)
        #将第一页转换为Pixmap
        page_pixmap = page_one.get_pixmap()
        #将Pixmap转换为QImage
        image_format = QImage.Format_RGBA8888 if page_pixmap.alpha else QImage.Format_RGB888
        page_image = QImage(page_pixmap.samples, page_pixmap.width,
                            page_pixmap.height, page_pixmap.stride, image_format)
        width = page_image.width()
        height = page_image.height()
        #QImage 转为QPixmap
        pix = QPixmap.fromImage(page_image)
        trans = QTransform()
        trans.rotate(0)  # 这里设置旋转角度
        new = pix.transformed(trans)
        # 设置标签宽和高
        self.label.setFixedSize(640, 800) #存放pdf 控件大小
        # 设置图片大小自适应标签
        self.label.setScaledContents(True)
        #给标签设置图像
        self.label.setPixmap(new)

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())



参考文章: Python-读取PDF文件显示在窗口上-Pdf阅读器文章来源地址https://www.toymoban.com/news/detail-717236.html

到了这里,关于python 打开PDF文件并显示窗口上的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pyqt5:python读取二进制文件(音频PCM文件)显示波形

    有个项目需要输出10-50Hz的低频信号驱动线圈,考虑使用音频功放硬件,所以做这方面的预研。 参考文章: 作者:很久没安静的回忆了,文章:音频 PCM 详解 作者:怪我冷i,文章:音视频从入门到精通——FFmpeg分离出PCM数据实战 3.作者:cuijiecheng2018,文章:windows下使用FFmp

    2023年04月21日
    浏览(26)
  • pyqt5, 如何在窗口上显示10个点地循环进度条。

    要在PyQt5窗口上显示从1个点逐渐增加到10个点,然后周而复始地循环,可以使用PyQt5的图形绘制功能和定时器来实现。以下是一个简单的例子: import sys from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtGui import QPainter, QColor, QBrush from PyQt5.QtCore import Qt, QTimer class PointDisplay(QWidget

    2024年02月14日
    浏览(24)
  • PyQt5设计好UI界面后,通过Python文件打开,控件集中在左上角问题解决方案

            在用PyQt5做GUI界面时遇到的一个问题,在QtDesigner预览的界面正常,但是转换成.py文件后show()出来的界面,控件都挤在左上角无法使用。 目录 一、问题 1.QtDesigner预览的界面正常​编辑 2.转换.py文件后通过show()方法,显示异常 二,解决方法 1.在MainWindow = QtWidgets.QM

    2024年02月04日
    浏览(37)
  • 在PyQt5窗口中嵌入open3d窗口显示点云图形

     本文方法来自:PYQT5内嵌外部exe程序(win7)_pyqt5嵌入外部窗口_这杯可乐有点甜的博客-CSDN博客 open3d在绘制点云等图形时,通常需要创建一个窗口。本文实现了将open3d创建的窗口显示在Qt窗口内,以便于后续通过Qt控件和槽函数调用open3d强大的绘图和处理功能。 运行结果如下

    2024年02月06日
    浏览(144)
  • 【Python】Pyqt5 主窗口调用子窗口demo

    背景: 通过主窗口的按钮调用其对应的窗口,代码比较简单,直接看,不懂的欢迎留言; 一共两个代码: ui_first.py :实现的是主窗口 ui_second.py:实现的是子窗口 点击开始按钮调用子窗口,点击关闭退出窗口; ui_first.py ui_second.py

    2024年02月11日
    浏览(28)
  • 可视可交互!在全志H618上用OpenCV读取图像显示到PyQt5窗口上

    OpenCV能够处理图像、视频、深度图像等各种类型的视觉数据,在某些情况下,尽管OpenCV可以显示窗口,但PyQt5可能更适合用于创建复杂的交互式应用程序,而自带GPU的H618就成为了这些图像显示的最佳载体。 这里分享一个代码,功能是使用图像处理库opencv从摄像头获取数据,缩

    2024年02月01日
    浏览(35)
  • python GUI工具之PyQt5模块,pyCharm 配置PyQt5可视化窗口

    https://doc.qt.io/qt-5/qtwidgets-module.html https://doc.qt.io/qt-5/qt.html#AlignmentFlag-enum 一、简介 PyQt是Qt框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件。 PyQt5是由一系列Python模块组成,有超过6

    2024年02月11日
    浏览(39)
  • Python打开文件并进行处理,txt、excel、pdf、word!

    在办公处理中,我们常常要打开一些文件,面临大量的数据时,传统的人工方法耗时耗力。在python中,有一系列包装好的库,让我们能够很方便的操作各种类型的文件。当然,python的内置函数也能够很好的打开一些文件。本文主要探讨python打开各类文件的方式。本文介绍的主

    2023年04月08日
    浏览(79)
  • Python使用PyQt5实现指定窗口置顶

    工作中,同事随口提了一句:要是能让WPS窗口置顶就好了,老是将窗口切换来切换去的太麻烦了。 然后,这个奇怪的点子引起了本人的注意,那就试试能不能实现吧。 不知道是不是我手法或版本的缘故,用了网上找的代码都是窗口弹出而已,并没有把它置顶,可以参考以下

    2024年02月13日
    浏览(37)
  • PyQt5按下按键选择文件并显示路径

    一、可直接运行代码 二、函数解释 fileName是文件的绝对路径,fileType是文件类型 第一个参数parent,用于指定父组件,一般是一个窗口,在这个窗口建立选择文件的对话框。这里是None。 第二个参数caption,定义这个选择文件的对话框的标题。 第三个参数dir,是对话框显示时默认

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包