如何在 PyQt5 中使用 pymupdf 读取 pdf 文件?

How to read pdf files with pymupdf in PyQt5?

我想通过 pilihfile 按钮打开 pdf 文件,然后使用 pymupdf 将其名称显示在 textEdit 上并在 textEdit_2 上显示其 pdf 内容。但是我收到错误消息说无法打开 ('D:/Kuliah/KRIP.pdf', 'PDF Files (*.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)

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

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