Open Source Python PDF Parser-bibliotheek
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 roteren 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, zodat u toegang hebt tot de tekst, afbeeldingen en andere inhoud erin.
- Tekst extraheren: U kunt tekst uit PDF-documenten extraheren, inclusief tekstinhoud, lettertypen en lay-outinformatie.
- Afbeeldingen 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 parsingfuncties van de bibliotheek. Voor een diepgaande evaluatie van splits-, merging- en paginabeheerfuncties, klikt u hier.
Aan de slag met PyMuPDF
Je hebt Python versie 3.8.0 of hoger nodig om PyMuPDF te installeren en gebruiken. Installeer dus eerst Python en gebruik dan onderstaande commando's om PyMuPDF op je machine te installeren met pip en virtual environment.
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
Vensters
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 halen en tekstuele analyses uit te voeren, zoals het tellen van woorden, door eenvoudigweg de functies in de bibliotheek te gebruiken, zoals weergegeven in de onderstaande code:
Uitvoer
De afbeelding hieronder toont de geëxtraheerde tekst en het aantal woorden in het PDF-bestand:
Afbeeldingen uit PDF extraheren
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:
Uitvoer
Hieronder ziet u de PNG-afbeelding die uit het PDF-document is geëxtraheerd
Tabellen uit PDF extraheren
We kunnen ook de PyMuPDF-bibliotheek gebruiken om een PDF-document te verwerken en er tabellen uit te halen. Bekijk het onderstaande codefragment dat het opgegeven PDF-bestand opent en tabellen uit het PDF-document haalt:
Uitvoer
De onderstaande schermafbeelding toont de tabel uit het PDF-document:
Tekst in PDF invoegen
Het onderstaande Python-codefragment demonstreert het gebruik van de PyMuPDF-bibliotheek voor het invoegen van tekst in een PDF-bestand en het opslaan van het gewijzigde PDF-bestand als text.pdf:
Uitvoer
De tekst die met behulp van de bovenstaande code is ingevoegd, wordt gemarkeerd in het rode vak hieronder:
PDF-tekstherkenning met OCR met PyMuPDF
We will perform OCR on the PDF file containing the following image:Uitvoer
De onderstaande afbeelding toont de tekst uit de afbeelding in het meegeleverde PDF-bestand:
Conclusie
Samenvattend is PyMuPDF een professionele tool met een aantal 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 niet als PDF's een complexe structuur of meer pagina's hebben, wat een nadeel kan zijn voor sommige gebruikers. Ook kan het in bepaalde situaties extra bibliotheken vereisen, zoals Pandas en Tesseract OCR-taalgegevensbestanden, wat het gebruik ervan complexer maakt. Ondanks deze beperkingen blijft PyMuPDF een robuuste keuze voor het werken met tekst in PDF's.