在Python中读取PDF文档,你可以使用几个不同的第三方库,具体选择哪个库取决于你的需求,比如是否需要支持中文、对英文的支持程度等。以下是几个常用的库及其使用方法:
1. PyPDF2
适用于读取英文PDF文档,安装命令为 `pip install PyPDF2`。
import PyPDF2with open('example.pdf', 'rb') as file:pdf = PyPDF2.PdfFileReader(file)num_pages = pdf.numPagesfor page_num in range(num_pages):page = pdf.getPage(page_num)text = page.extractText()print(text)
2. pdfminer3k
支持多语言PDF文档,包括中文。安装命令为 `pip install pdfminer3k`。
from io import StringIOfrom pdfminer.converter import TextConverterfrom pdfminer.layout import LAParamsfrom pdfminer.pdfinterp import PDFResourceManager, process_pdfdef read_pdf(pdf):rsrcmgr = PDFResourceManager()retstr = StringIO()laparams = LAParams()device = TextConverter(rsrcmgr, retstr, laparams=laparams)process_pdf(rsrcmgr, device, pdf)device.close()content = retstr.getvalue()retstr.close()return content.split('\n')使用示例pdf_content = read_pdf(open('example.pdf', 'rb'))for line in pdf_content:print(line)

3. pdfplumber
使用pdfplumber库可以更简洁地提取PDF中的文本信息。安装命令为 `pip install pdfplumber`。
import pdfplumberwith pdfplumber.open('example.pdf') as pdf:for page in pdf.pages:print(page.extract_text())
4. PyPDF4
from pypdf import PdfReaderwith open('example.pdf', 'rb') as f:pdf = PdfReader(f)information = pdf.metadatanumber_of_pages = len(pdf.pages)print("Author: ", information.author)print("Creator: ", information.creator)print("Producer: ", information.producer)print("Subject: ", information.subject)print("Title: ", information.title)print("Number of pages: ", number_of_pages)
选择合适的库后,你可以根据库的文档和示例代码来读取PDF文档中的内容。需要注意的是,不同的PDF文件可能会有不同的格式和布局,因此提取文本时可能需要对代码进行一些调整以适应特定情况。
