Open Source Python PDF-parserbibliotheek
Probeer deze gratis en open source Python-bibliotheek om tekst, afbeeldingen, tabellen en andere inhoud uit PDF-documenten te parseren, lezen en extraheren.
Wat is PyMuPDF?
PyMuPDF, ook bekend als Fitz, is een open-source Python-bibliotheek die een uitgebreide set tools biedt voor het werken met PDF-bestanden. Met PyMuPDF kunnen gebruikers efficiënt taken uitvoeren zoals het openen van PDF's, het extraheren van tekst, afbeeldingen en tabellen, het manipuleren van pagina-eigenschappen zoals rotatie en bijsnijden, het maken van nieuwe PDF-documenten en het converteren van PDF-pagina's naar afbeeldingen.
PyMuPDF ondersteunt verschillende functies die hieronder worden vermeld:
- PDF-documenten lezen: PyMuPDF kan PDF-documenten openen en lezen, waardoor u toegang krijgt tot de tekst, afbeeldingen en andere inhoud daarin.
- Tekstextractie: u kunt tekst uit PDF-documenten extraheren, inclusief tekstinhoud, lettertypen en lay-outinformatie.
- Afbeelding extraheren: u kunt afbeeldingen uit PDF-documenten extraheren in verschillende formaten, zoals JPEG of PNG.
- Tabelextractie: u kunt ook tabellen uit PDF-documenten extraheren.
In deze review ligt onze primaire focus op de extractie- en parseerfuncties van de bibliotheek. Voor een diepgaande evaluatie van de functies voor splitsen, samenvoegen en paginabeheer, klik hier.
Aan de slag met PyMuPDF
Je hebt Python versie 3.8.0 of hoger nodig om PyMuPDF te installeren en te gebruiken. Installeer dus eerst Python en gebruik vervolgens onderstaande opdrachten om PyMuPDF op uw computer te installeren met behulp van pip en virtuele omgeving.
Linux
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
ramen
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Tekst uit PDF extraheren
U kunt de PyMuPDF-bibliotheek in Python gebruiken om tekst uit een PDF-document te extraheren en tekstanalyse uit te voeren, zoals het tellen van woorden, gewoon door de functies in de bibliotheek te gebruiken, zoals weergegeven in de onderstaande code:
De onderstaande afbeelding toont de geëxtraheerde tekst en het aantal woorden in het PDF-bestand:
Afbeeldingen extraheren uit PDF
We kunnen de PyMuPDF-bibliotheek gebruiken om afbeeldingen uit een PDF-document in Python te extraheren. Het onderstaande codefragment opent het opgegeven PDF-bestand, extraheert afbeeldingen uit de PDF en slaat ze op in de huidige werkmap:
Hieronder volgt de PNG-afbeelding die uit het PDF-document is geëxtraheerd
Tabellen uit PDF extraheren
We kunnen de PyMuPDF-bibliotheek ook gebruiken om een PDF-document te verwerken en er tabellen uit te extraheren. Bekijk het onderstaande codefragment waarmee het opgegeven PDF-bestand wordt geopend en tabellen uit het PDF-document worden geëxtraheerd:
Onderstaande schermafbeelding toont de tabel uit het PDF-document:
Voeg tekst in PDF in
Het onderstaande Python-codefragment demonstreert het gebruik van de PyMuPDF-bibliotheek voor het invoegen van tekst in een PDF-bestand en het opslaan van de gewijzigde PDF als text.pdf:
De tekst die met de bovenstaande code is ingevoegd, wordt gemarkeerd in het rode vak hieronder:
PDF-tekstherkenning met behulp van OCR met PyMuPDF
We will perform OCR on the PDF file containing the following image:De onderstaande afbeelding toont de tekst die is geëxtraheerd uit de afbeelding in het meegeleverde PDF-bestand:
Conclusie
Samenvattend is PyMuPDF een professionele tool met enkele duidelijke sterke en zwakke punten. Het is geweldig voor taken als OCR en tekstextractie, wat het waardevol maakt voor het verwerken van tekst in PDF's.
Het is echter niet zo goed in het extraheren van tabellen uit PDF's, vooral wanneer PDF's een complexe structuur of een groter aantal pagina's hebben, wat voor sommige gebruikers een nadeel kan zijn. In bepaalde situaties kan het ook extra bibliotheken vereisen, zoals Pandas en Tesseract OCR-taalgegevensbestanden, waardoor het gebruik ervan complexer wordt. Ondanks deze beperkingen blijft PyMuPDF een robuuste keuze voor het werken met tekst in PDF's.