Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

PDF को टेक्स्ट में बदलने के लिए पायथन में कौन से मॉड्यूल उपलब्ध हैं?

आप PDF को टेक्स्ट में बदलने के लिए `PDFMiner` पैकेज का उपयोग कर सकते हैं।

उदाहरण: PDFMiner

आप इसे निम्न तरीके से उपयोग कर सकते हैं:


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()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(resource_manager, retstr, codec=codec, laparams=laparams)
    interpreter = PDFPageInterpreter(resource_manager, device)
    
    # दस्तावेज़ में निहित प्रत्येक पृष्ठ को प्रोसेस करें
    for page in PDFPage.get_pages(fp):
        interpreter.process_page(page)
    
    data = retstr.getvalue()
    print(data)

pdfparser('filename.pdf')

यह एक PDF फ़ाइल लेता है और `PDFPageInterpreter` क्लास से `process_page` फ़ंक्शन का उपयोग करके पृष्ठ दर पृष्ठ टेक्स्ट निकालता है।

वैकल्पिक: PyPDF2 / pypdf (सरल API)

`PyPDF2` (अब `pypdf` के रूप में अनुरक्षित) ठीक काम करता है (यह मानते हुए कि आप अच्छी तरह से बने PDF के साथ काम कर रहे हैं)। यदि आप केवल टेक्स्ट चाहते हैं (स्पेस के साथ), तो आप निम्न कर सकते हैं:


import pypdf

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

अन्य विकल्प

pdfplumber (टेबल/लेआउट के लिए सर्वश्रेष्ठ)


pip install pdfplumber
import pdfplumber

with pdfplumber.open("filename.pdf") as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        tables = page.extract_tables()
        print(text)

PyMuPDF (fitz) - तेज़, शक्तिशाली


pip install pymupdf
import fitz

doc = fitz.open("filename.pdf")
for page in doc:
    print(page.get_text())

pdfminer.six (PDFMiner का आधुनिक फोर्क)


pip install pdfminer.six
# उपरोक्त PDFMiner कोड के समान API

तुलना

लाइब्रेरीगतिटेक्स्ट गुणवत्ताटेबलमेंटेनेंस
pypdf (PyPDF2)तेज़अच्छानहींसक्रिय
pdfplumberमध्यमउत्कृष्टहांसक्रिय
PyMuPDF (fitz)बहुत तेज़उत्कृष्टहांबहुत सक्रिय
pdfminer.sixधीमाअच्छासीमितसक्रिय

सिफारिश

  • सरल टेक्स्ट निष्कर्षण: `pypdf` या `PyMuPDF`
  • टेबल/लेआउट विश्लेषण: `pdfplumber` या `PyMuPDF`
  • उच्च प्रदर्शन: `PyMuPDF` (fitz)
  • प्योर पायथन (कोई C एक्सटेंशन नहीं): `pdfminer.six`
  1. - टेक्स्ट माइनिंग की तकनीकें क्या हैं?

    टेक्स्ट माइनिंग को टेक्स्ट विश्लेषण के रूप में भी जाना जाता है। यह असंरचित टेक्स्ट को सरल विश्लेषण के लिए संरचित डेटा में बदलने की प्रक्रिया है। टेक्स्ट माइनिंग प्राकृतिक भाषा प्रसंस्करण (NLP) लागू करती है, जिससे मशीनें मानव भाषा को समझ सकती हैं और इसे स्वचालित रूप से संसाधित कर सकती हैं। टेक्स्ट म

  1. - टेक्स्ट माइनिंग के अनुप्रयोग क्या हैं?

    टेक्स्ट माइनिंग को टेक्स्ट विश्लेषण के रूप में भी जाना जाता है। यह सरल विश्लेषण के लिए असंरचित टेक्स्ट को संरचित डेटा में बदलने की प्रक्रिया है। टेक्स्ट माइनिंग प्राकृतिक भाषा प्रसंस्करण (NLP) लागू करती है, जिससे मशीनें मानव भाषा को समझ सकती हैं और इसे स्वचालित रूप से संसाधित कर सकती हैं। इसे मानक

  1. DES के रूपांतर क्या हैं? DES के रूपांतर क्या हैं?

    डेटा एन्क्रिप्शन स्टैंडर्ड के दो मुख्य रूपांतर निम्नलिखित हैं: डबल DES (Double DES) - डबल DES एक एन्क्रिप्शन दृष्टिकोण है जिसे समान प्लेन टेक्स्ट पर DES के दो उदाहरणों की आवश्यकता होती है। दोनों उदाहरणों में यह प्लेन टेक्स्ट को एन्क्रिप्ट करने के लिए कई कुंजियों का उपयोग करता है। डिक्रिप्शन के समय