python 打开PDF文件并显示
打开一个指定pdf文件,将pdf文件中第一页显示在窗口上文章来源:https://www.toymoban.com/news/detail-717236.html
依赖包提前安装
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模板网!