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

โมดูลใดบ้างใน Python สำหรับการแปลง PDF เป็นข้อความ


คุณสามารถใช้แพ็คเกจ PDFMiner เพื่อแปลง PDF เป็นข้อความได้

ตัวอย่าง

คุณสามารถใช้ด้วยวิธีต่อไปนี้:

 import sys
from cStringIO import StringIO
 from pdfminer.pdfpage importPDFPage
from pdfminer.pdfinterp importPDFResourceManager, PDFPageInterpreter
from pdfminer.layout importLAParams
from pdfminer.converter importXMLConverter, HTMLConverter, TextConverter
 def pdfparser(data):
    fp = file(data, 'rb')
    resource_manager = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(resource_manager,retstr, codec=codec, laparams=laparams)
    interpreter =PDFPageInterpreter(resource_manager, device)
 
    # Process each page contained in thedocument.
    for page in PDFPage.get_pages(fp):
        interpreter.process_page(page)
        data = retstr.getvalue()
    print data
 pdfparser('filename.pdf')

ใช้ไฟล์ pdf และแยกข้อความจากหน้าทีละหน้าโดยใช้ฟังก์ชัน process_page จากคลาส PDFPageInterpreter

มีทางเลือกอื่นสำหรับ PDFMiner ที่มี API ที่ง่ายกว่ามากในการแยกข้อความ pyPDF ทำงานได้ดี (สมมติว่าคุณกำลังทำงานกับ PDF ที่มีรูปแบบถูกต้อง) หากต้องการข้อความ (เว้นวรรค) ให้ทำดังนี้:

import pyPdf
pdf = pyPdf.PdfFileReader(open('filename.pdf',"rb"))
for page in pdf.pages:
    print page.extractText()