如何在 PyQt5 中使用 pymupdf 读取 pdf 文件? [复制]

Posted

技术标签:

【中文标题】如何在 PyQt5 中使用 pymupdf 读取 pdf 文件? [复制]【英文标题】:How to read pdf files with pymupdf in PyQt5? [duplicate] 【发布时间】:2021-06-22 09:39:43 【问题描述】:

我想通过 pilihfile 按钮打开 pdf 文件,然后将其名称显示在 textEdit 上,并使用 pymupdf 在 textEdit_2 上显示其 pdf 内容。但我得到错误说无法打开('D:/Kuliah/KRIP.pdf','PDF文件(* .pdf)'):无效参数。我不知道如何解决它。

def pilihfile(self):
    files = QFileDialog.getOpenFileName(None, "Open File", "", "PDF Files (*.pdf)")
    file_name = str(files))

    pdf_document = file_name
    self.textEdit.setText(pdf_document)
    doc = fitz.open(pdf_document)
    hal = doc.pageCount

    for i in range (hal):
        page = doc.loadPage(i)
        page1text = page.get_text().strip()
        self.textEdit_2.setPlainText(page1text)

【问题讨论】:

【参考方案1】:

根据您的错误消息,pdf_document 实际上具有('D:/Kuliah/KRIP.pdf', 'PDF Files (*.pdf)') 的值。这是因为您将QtWidgets.QFileDialog.getOpenFileNamePyQt5 一起使用,它返回tuple 而不仅仅是str(检查this)。如果是这种情况,请尝试:

files, _ = QFileDialog.getOpenFileName(None, "Open File", "", "PDF Files (*.pdf)")

【讨论】:

以上是关于如何在 PyQt5 中使用 pymupdf 读取 pdf 文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PyQt5 中同时读取和写入文件时正确执行多线程?

Python处理PDF神器:PyMuPDF的安装与使用

Python处理PDF神器:PyMuPDF的安装与使用

如何在 PyQt5 中对 QProcesses 进行排队?

Ubuntu14.04安装PyMuPDF

pyqt5 qimage 读取内存数据