1. 使用PyPDF2库:
from PyPDF2 import PdfFileReader打开PDF文件pdf_file = open('example.pdf', 'rb')pdf_reader = PdfFileReader(pdf_file)获取PDF文件的页数num_pages = pdf_reader.numPages遍历每一页并显示文本内容for page_num in range(num_pages):page = pdf_reader.getPage(page_num)text = page.extract_text()print(text)关闭文件pdf_file.close()
2. 使用pdfplumber库:
import pdfplumberwith pdfplumber.open('example.pdf') as pdf:for page in pdf.pages:print(page.extract_text())
3. 使用PyMuPDF库(需要安装PyQt5以显示PDF):

from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QFileDialogfrom PyQt5.QtGui import QPainter, QImagefrom PyQt5.QtCore import Qtclass PDFViewer(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle('PDF Viewer')self.setGeometry(100, 100, 800, 600)self.file_menu = self.menuBar().addMenu('文件')self.open_action = QAction('打开', self)self.open_action.triggered.connect(self.showDialog)self.file_menu.addAction(self.open_action)self.page_up_action = QAction('上一页', self)self.page_up_action.setShortcut('Down')self.page_up_action.triggered.connect(self.pages_up)self.file_menu.addAction(self.page_up_action)self.current_page = 0self.document = Nonedef showDialog(self):self.fname, _ = QFileDialog.getOpenFileName(self, '选择PDF文件', '.', 'Text Files (*.pdf)')if self.fname != '':self.load_pdf(self.fname)def load_pdf(self, file_path):self.document = pymupdf.open(file_path)self.current_page = 0self.update()def pages_up(self):if self.current_page > 0:self.current_page -= 1self.update()def paintEvent(self, event):if self.document is not None:page = self.document.load_page(self.current_page)image = page.get_image()if image is not None:img = QImage(image['image'])painter = QPainter(self)painter.drawImage(0, 0, img)if __name__ == '__main__':app = QApplication([])viewer = PDFViewer()viewer.show()app.exec_()
请选择适合您需求的方法,并确保已安装相应的Python库。
