首页 > 解决方案 > 如何在 PyQt5 中使用 pymupdf 读取 pdf 文件?

问题描述

我想通过 pilihfile 按钮打开 pdf 文件,然后将其名称显示在 textEdit 上,并使用 pymupdf 在 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)

标签: pythonpyqtpyqt5pymupdf

解决方案


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

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

推荐阅读