Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โมดูล Python แปลง PDF เป็น Text (PDFMiner, PyPDF)

2 Library หลักสำหรับ Extract Text จาก PDF

1. PDFMiner (Powerful, Complex)

import sys
from io import StringIO
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.layout import LAParams
from pdfminer.converter import TextConverter

def pdfparser(data):
    fp = open(data, 'rb')
    resource_manager = PDFResourceManager()
    retstr = StringIO()
    laparams = LAParams()
    device = TextConverter(resource_manager, retstr, codec='utf-8', laparams=laparams)
    interpreter = PDFPageInterpreter(resource_manager, device)
    for page in PDFPage.get_pages(fp):
        interpreter.process_page(page)
    print(retstr.getvalue())

pdfparser('filename.pdf')

2. PyPDF2 / pypdf (Simple, สำหรับ PDF มาตรฐาน)

import pypdf  # หรือ PyPDF2

pdf = pypdf.PdfReader(open('filename.pdf', 'rb'))
for page in pdf.pages:
    print(page.extract_text())

เปรียบเทียบ

FeaturePDFMinerPyPDF/pypdf
Layout Analysisดีมาก (Position, Font)Basic
API ComplexityHighLow
Unicode Supportดีดี (pypdf 3+)
MaintenanceActive (pdfminer.six)Active (pypdf)
แนะนำ: ใช้ pypdf (v3+) สำหรับ Extract Text ธรรมดา, pdfplumber สำหรับ Table/Layout ซับซ้อน