A Portable Document Format (PDF) fájlokat gyakran használják dokumentumok elektronikus megosztására. Az egyének és a vállalkozások egyaránt használnak PDF-fájlokat információk megosztására. Gyakran előfordul, hogy a további feldolgozáshoz ki kell nyernünk bizonyos információkat a PDF-fájlokból. A szöveg kinyerése egy PDF-fájlból azonban kihívást jelenthet, különösen, ha a dokumentum összetett formázást és elrendezést tartalmaz. Szerencsére ennek többféle módja is van.
Itt bemutatjuk a leggyakrabban használt módszert a szöveg kinyerésére a PDF-ekből Python használatával. A Python számos olyan könyvtárat tartalmaz, amelyek lehetővé teszik a hatékony PDF-szöveg-kivonást.
A cikk feltár néhány népszerű Python-könyvtárat a PDF-fájlokból szövegek kinyerésére, valamint a PDF-fájlokból a szöveges kinyerési folyamatot lépésről lépésre.
Python könyvtárak PDF-feldolgozáshoz
A Python számos jól integrált könyvtárral rendelkezik, amelyek hatékonyan kezelik a strukturálatlan adatforrásokat, például a PDF-fájlokat. Itt található néhány Python-könyvtár lista a PDF-feldolgozáshoz.
- PyPDF2: Ez egy Python PDF-könyvtár, amely segíthet a PDF-fájlok oldalainak felosztásában, egyesítésében, kivágásában és átalakításában. pyPDF2 lehetővé teszi szövegek kivonatát is PDF-fájlokból.
- PyMuPDF: A PyMuPDF egy Python-burkoló a MuPDF C könyvtárához. Lehetővé teszi PDF-fájlok olvasását, írását és kezelését Pythonban. Ezenkívül hozzáférhet a PDF-dokumentum metaadataihoz, szöveget és képeket bonthat ki, és visszafejtheti a PDF-dokumentumot a PyMuPDF segítségével.
- ReportLab: Ez egy nyílt forráskódú Python-könyvtár, amely PDF-fájlok létrehozására és kezelésére használható. Magas szintű API-t biztosít PDF dokumentumok létrehozásához a semmiből, és támogatja a képek és betűtípusok beágyazását.
- Pdf2dox: Ez egy Python-könyvtár, amely a PyMuPDF-könyvtár segítségével adatokat nyer ki PDF-fájlokból.
Azonnal konvertálhat összetett PDF-et szöveges formátumba a PDF szöveggé konvertáló segítségével. Próbáld ki ingyen.
A Fejlesztési Környezet kialakítása
Mielőtt megvitatnánk a PDF-ből történő szövegkivonás lépéseit, elengedhetetlen egy fejlesztői környezet létrehozása és a szöveg kivonásához szükséges Python-könyvtárak telepítése.
- Python telepítése: Ha még nem tette meg, telepítenie kell a Pythont a rendszerére. A Python legújabb verzióját letöltheti a webhelyről itt.
- Pip telepítése: Ha ellenőrizni szeretné, hogy a pip telepítve van-e a Pythonban, futtassa
py -m ensurepip --default-pip
Ha a pip nem fut automatikusan, töltse le itt és futtassa a következő kódot a telepítéshez vagy frissítéshez
pip.python get-pip.py
- Telepítse a szükséges könyvtárat: Telepítsen bármely Python-könyvtárat a PDF-fájlok kezeléséhez. Itt telepítjük a gyakran használt könyvtárat, a PyPDF2-t. A telepítéshez futtassa a következő parancsot.
pip install PyPDF2
Miután telepítette a Pythont és a szükséges könyvtárakat, a fejlesztői környezet be van állítva. Bármilyen szövegszerkesztővel vagy IDE-vel Python-kódot írhat, például Visual Studio Code, PyCharm vagy Sublime Text.
A fájlok kibontásához a PyPDF2 Python könyvtárat fogjuk használni.
PDF bevitele:
# szükséges modulok importálása |
output:
Most értsük meg az egyes kódokat külön-külön.
- olvasó = PdfReader('nanonets.pdf')
A PyPDF2 modulból létrehoztuk a PDFReader osztály objektumát. Felveszi a pdf-fájl elérési útjának szükséges pozíció argumentumát.
- nyomtatás (len(olvasó.oldalak))
Az oldalak tulajdonság az oldalobjektumok listáját tartalmazza. Itt a beépített len() Python függvényt használhatjuk a pdf fájl oldalszámának lekérdezéséhez.
- oldal = olvasó.oldalak[0]
Az oldalindexre koppintva egy adott pdf fájl oldalt is kaphatunk. A lista indexelése Pythonban 0-tól kezdődik, így ez a parancs adja a fájl első oldalát.
- szöveg = page.extract_text()
nyomtatás (szöveg)
Ezzel a paranccsal kinyerjük a szöveget a pdf-oldalról.
A kivont szöveg előfeldolgozása a tisztítás és a normalizálás érdekében
Különböző előfeldolgozási technikákat használnak, mint például a stopszavak eltávolítása, a kisbetűk eltávolítása, az írásjelek eltávolítása, a törzsképzés vagy a lemmatizálás, a Pythonban kivont szöveg tisztítására és normalizálására.
Bemenet: A Python egy népszerű programozási nyelv, amelyet adatelemzésre és gépi tanulásra használnak. Könnyen megtanulható, és számos könyvtárral rendelkezik a különféle alkalmazásokhoz.
Kód:
szöveg = „A Python egy népszerű programozási nyelv, amelyet adatelemzésre és gépi tanulásra használnak. Könnyen megtanulható, és számos könyvtárral rendelkezik a különféle alkalmazásokhoz.” |
output: ['python", "népszerű", "programozás", "nyelv", "használt", "adat", "elemzés", "gép", "tanulás", "könnyű", "tanulni", "széles", " tartomány", "könyvtárak", "különféle", "alkalmazások"]
Ez a lépés eltávolította az olyan stopszavakat, mint az „is”, „a”, „for”, „and”, „it” és „has”, valamint a kisbetűs szavakat a szövegben.
A kibontott szöveg mentése fájlba vagy adatbázisba
Futtassa a következő kódot:
val vel nyisd ki("extracted_text.txt", 'Ban ben') as f: |
Ez a kód megnyit egy nevű fájlt kivont_szöveg.txt írási módban. A f.write() metódus az előre feldolgozott szöveget írja a fájlba. Konvertálja a szavak listáját tiszta_szöveg karakterláncra úgy, hogy a szavakat szóközzel (' ') összekapcsolja, majd beírja a kapott karakterláncot a fájlba.
Tehát az eredmény az, hogy az előre feldolgozott szöveg egy nevű fájlba kerül kivont_szöveg.txt az aktuális munkakönyvtárban.
Azonnal konvertálhat összetett PDF-et szöveges formátumba a PDF szöveggé konvertáló segítségével. Próbáld ki ingyen.
Számos fejlett technika használható a szövegkivonás pontosságának javítására. Íme néhány technika:
- Optikai karakterfelismerés (OCR): Az OCR egy olyan folyamat, amely a beolvasott képeket gépi kódolású szöveggé alakítja. Az OCR segítségével képeket vagy beolvasott oldalakat tartalmazó PDF-fájlokból lehet szöveget kivonni. Számos OCR-motor áll rendelkezésre, köztük a Tesseract, a Google Cloud Vision és az Amazon Textract.
- Előfeldolgozási technikák: Az előfeldolgozási technikák közé tartozik a PDF-fájl manipulálása a tényleges kibontási folyamat előtt. Ez magában foglalja az olyan technikákat, mint a ferdeség-mentesítés, a zajcsökkentés és a küszöbértékek meghatározása a zaj, ferdeség és egyéb torzítások eltávolítására, amelyek befolyásolhatják az extrakciós folyamat pontosságát.
- Elrendezés elemzés: Ez magában foglalja a PDF-fájlok különböző elemeinek azonosítását és osztályozását, például szövegblokkokat, táblázatokat és képeket. Ez az információ javíthatja a szövegkivonás pontosságát a dokumentum szerkezetének azonosításával.
- Gépi tanulási eszközök: Számos szövegkivonó eszköz, mint pl Nanonetek, használjon gépi tanulási technikákat a szöveg pontos kivonásához PDF-fájlokból.
Tippek a teljesítmény optimalizálásához és a memóriahasználat csökkentéséhez a Pythonban
A Pythonban a memória hatékony kezelése bonyolult lehet, ami szükségessé teszi a Python adatstruktúráinak és objektumainak megértését. Íme néhány tipp a teljesítmény optimalizálásához és a memóriahasználat csökkentéséhez Python kód futtatása közben.
1. Használja a beépített Python függvényeket és könyvtárakat
A beépített Python-függvények használata hatékony módja a kód felgyorsításának. Javasoljuk, hogy adott esetben ezeket a funkciókat illessze be a kódba, mert optimalizáltak és jól teszteltek teljesítményük szempontjából.
Ezek a funkciók gyorsak, mert C nyelven, egy nagy teljesítményű nyelven futnak. Ilyen funkciók például a max, min, all, map és még sok más.
2. Használja a Pytorch DataLoader programot
Egy nagy adatkészlet betanítása memóriaigényes lehet. A PyTorch DataLoader használata megoldást kínál erre a problémára azáltal, hogy lehetővé teszi több mini-köteg adat létrehozását a teljes adatkészletből. Minden mini köteg, amely több mintát is tartalmazhat a rendelkezésre álló memória alapján, zökkenőmentesen betöltődik a modellbe, lehetővé téve nagy adatkészletek hatékony betanítását.
3. Használja a List Comprehension Over Loops funkciót
A Pythonban a ciklusok gyakoriak, de a listaértelmezések tömörebb és gyorsabb módot kínálnak új listák létrehozására. A Python-listához való elemek hozzáadásához jobb, mint az append módszer.
4. Import nyilatkozat Rezsi
A Pythonban az import utasítás elhelyezése befolyásolhatja a kód teljesítményét és memóriahasználatát. Egy csomag függvényen kívüli importálása gyorsabb kódvégrehajtást eredményezhet, de több memóriát is igényelhet, mint a függvényen belüli csomag importálása. A teljesítmény és a memóriahasználat közötti kompromisszumok figyelembe vétele fontos annak eldöntésekor, hogy hova helyezze el az importálási utasításokat a Pythonban.
5. Adatdarabok
Az adatok kis kötegekben történő feldarabolása vagy betöltése hasznos technika a memóriahibák megelőzésére, amikor nagy adatkészletekkel dolgozik Pythonban. Sok esetben nincs szükség minden adatra egyszerre, és ha mindent egy kötegben próbálunk betölteni, az a memóriakorlátok miatt a program összeomlását okozhatja. Az adatok kisebb darabokban történő feldolgozásával elkerülhetők ezek a memóriahibák, és szükség szerint menthetők az eredmények. Ezért az adatok darabolása gyakori az adatfeldolgozásban és -elemzésben a memóriával kapcsolatos problémák megelőzése érdekében.
6. Karakterlánc összefűzése
A Pythonban a karakterláncok összefűzésének két általános módja a „+” operátor vagy a join() metódus. Míg a '+' operátort széles körben használják, a join() metódus hatékonyabb és gyorsabb a karakterláncok összefűzésére. Ennek fő oka az, hogy a '+' operátor minden lépésnél új karakterláncot hoz létre, és lemásolja a régi karakterláncot, míg a join() metódus másként működik, ami gyorsabb összefűzést eredményez.
Azonnal konvertálhat összetett PDF-et szöveges formátumba a PDF szöveggé konvertáló segítségével. Próbáld ki ingyen.
Elvitel
A memóriahibák kezelése Pythonban kihívást jelenthet, de különféle módszerek léteznek a memóriahasználat optimalizálására és a memória túlcsordulás megelőzésére. Az első lépés a probléma fő okának azonosítása és az alkalmazható memóriaoptimalizálási módszerek alkalmazása. Ha a probléma továbbra is fennáll, a kapcsolódó folyamatok optimalizálhatók, vagy a művelet kisebb részekre bontható külső adatbázis-szolgáltatás segítségével.
Ezekkel a tippekkel és technikákkal optimalizálható a memóriahasználat, és elkerülhetők a memóriával kapcsolatos problémák, amikor nagy adatkészletekkel dolgozik Pythonban. Míg a Python-könyvtárak kényelmes módot kínálnak a szövegek PDF-fájlokból történő kinyerésére, érdemes fontolóra venni más automatizált szövegkivonási eszközöket is, mint pl. Nanonetek.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://nanonets.com/blog/extract-text-from-pdf-file-using-python/
- :is
- $ UP
- 1
- 7
- 8
- a
- gyorsul
- hozzáférés
- pontosság
- pontosan
- fejlett
- érint
- Minden termék
- lehetővé téve
- lehetővé teszi, hogy
- már
- amazon
- Amazon szöveg
- elemzés
- és a
- api
- alkalmazható
- alkalmazások
- Alkalmazása
- megfelelő
- VANNAK
- érv
- cikkben
- AS
- At
- megkísérlése
- Automatizált
- automatikusan
- elérhető
- elkerülése érdekében
- BE
- mert
- előtt
- Jobb
- között
- Blocks
- Törött
- beépített
- vállalkozások
- by
- TUD
- esetek
- Okoz
- kihívást
- karakter
- karakter felismerés
- ellenőrizze
- osztály
- felhő
- kód
- Közös
- általában
- bonyolult
- figyelembe véve
- tartalmaz
- Kényelmes
- Mag
- Crash
- teremt
- készítette
- létrehozása
- teremtés
- termés
- Jelenlegi
- dátum
- adatelemzés
- adatfeldolgozás
- adatbázis
- adatkészletek
- Döntés
- visszafejtése
- eltökélt
- Fejlesztés
- különböző
- megvitatni
- dokumentum
- dokumentumok
- le-
- letöltés
- minden
- könnyű
- szerkesztő
- Hatékony
- hatékonyan
- hatékony
- elektronikusan
- elemek
- lehetővé
- lehetővé téve
- Motorok
- Angol
- Egész
- Környezet
- hibák
- különösen
- alapvető
- Eter (ETH)
- minden
- példák
- végrehajtás
- kivonat
- kitermelés
- GYORS
- gyorsabb
- kevés
- filé
- Fájlok
- vezetéknév
- következő
- betűtípusok
- A
- formátum
- szerencsére
- Ingyenes
- ból ből
- funkció
- funkciók
- további
- kap
- szerzés
- gif
- Ad
- A Google Cloud
- fogantyú
- Legyen
- segít
- itt
- magas szinten
- nagy teljesítményű
- Hogyan
- How To
- azonban
- HTTPS
- azonosító
- képek
- Hatás
- importál
- fontos
- importáló
- javul
- in
- tartalmaz
- magában foglalja a
- Beleértve
- amely magában foglalja
- index
- egyének
- információ
- telepíteni
- telepítve
- vonja
- jár
- kérdés
- kérdések
- IT
- csatlakozott
- nyelv
- nagy
- legutolsó
- elrendezés
- TANUL
- tanulás
- lemmatizálás
- könyvtárak
- könyvtár
- mint
- korlátozások
- Lista
- listák
- kiszámításának
- betöltés
- gép
- gépi tanulás
- Gépi tanulási technikák
- Fő
- csinál
- KÉSZÍT
- kezelése
- manipuláló
- sok
- térkép
- max
- Memory design
- megy
- Metaadatok
- módszer
- mód
- Mód
- modell
- modul
- több
- a legtöbb
- többszörös
- Nevezett
- Szükség
- szükséges
- Új
- Zaj
- szám
- tárgy
- objektumok
- OCR
- of
- ajánlat
- Régi
- on
- nyitva
- nyílt forráskódú
- működés
- operátor
- optimalizálás
- Optimalizálja
- optimalizált
- optimalizálása
- Más
- Egyéb
- kívül
- csomag
- oldal
- ösvény
- teljesítmény
- fennáll
- Hely
- Plató
- Platón adatintelligencia
- PlatoData
- Népszerű
- lehetséges
- megakadályozása
- folyamat
- Folyamatok
- feldolgozás
- Program
- Programozás
- ingatlan
- ad
- biztosít
- Piton
- pytorch
- hatótávolság
- Olvass
- Olvasó
- ok
- elismerés
- ajánlott
- csökkentő
- összefüggő
- eltávolítása
- eltávolított
- eltávolítása
- szükség
- kötelező
- eredményez
- kapott
- Eredmények
- futás
- futás
- s
- Megtakarítás
- zökkenőmentesen
- külön
- szolgáltatás
- készlet
- számos
- Megosztás
- megosztás
- egyetlen
- ferdeség
- kicsi
- kisebb
- So
- megoldások
- néhány
- Források
- Hely
- különleges
- osztott
- kezdődik
- nyilatkozat
- nyilatkozatok
- Lépés
- Lépései
- megáll
- struktúra
- stúdió
- ilyen
- Támogatja
- rendszer
- Vesz
- technikák
- Tesseract
- hogy
- A
- ebből adódóan
- Ezek
- tippek
- nak nek
- tokenek
- szerszámok
- Képzések
- Átalakítás
- megért
- megértés
- frissítés
- us
- Használat
- használ
- hasznosít
- különféle
- Ve
- változat
- látomás
- W
- Út..
- módon
- vajon
- ami
- míg
- széles
- Széleskörű
- széles körben
- lesz
- val vel
- szó
- szavak
- Munka
- dolgozó
- művek
- érdemes
- ír
- A te
- zephyrnet