Szöveg kibontása az oldalrégióból PDF-fájlban

Bevezetés

A PDF-fájlokkal való munkavégzés gyakran megköveteli bizonyos tartalom kinyerését, legyen az adatgyűjtés űrlapokból, táblázatokból vagy a dokumentum bizonyos részeiből. Ebben az oktatóanyagban végigvezetjük, hogyan lehet szöveget kivonni a PDF egy adott régiójából az Aspose.PDF for .NET használatával. A teljes dokumentum átvizsgálása helyett pontosan meghatározzuk a szöveg helyét, és hatékonyan kibontjuk.

Előfeltételek

Mielőtt belevágnánk a kódba, győződjön meg arról, hogy a következő elemek a helyükön vannak:

  1. Aspose.PDF for .NET: Ha még nem tette meg, töltse le és telepítse az Aspose.PDF for .NET könyvtárat.Töltse le az Aspose.PDF-et .NET-hez.
  2. IDE: Bármilyen .NET fejlesztői környezet, például a Visual Studio.
  3. .NET-keretrendszer: Győződjön meg arról, hogy projektje a megfelelő .NET-keretrendszerrel van beállítva.
  4. PDF-dokumentum: PDF-minta, amelyből kivonjuk a szöveget.

Ne felejtsd el, hogy megtehetedkap egy ingyenes próbaverziót Az Aspose.PDF-ből vagy használja aideiglenes engedély a teljes funkcionalitás érdekében.

szükséges csomagok importálása

Az Aspose.PDF for .NET használatához importálnia kell a szükséges névtereket a projektbe. Ezek a csomagok biztosítják a PDF dokumentumok kezeléséhez szükséges osztályokat és módszereket.

using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;

1. lépés: A dokumentumkönyvtár beállítása és a PDF betöltése

Az első lépés az, hogy adja meg, hol található a PDF-fájl, és töltse be a projektbe. Használhatja a dolgozni kívánt PDF-fájl helyi könyvtárának elérési útját.

// A dokumentumok könyvtárának elérési útja.
string dataDir = "YOUR DOCUMENT DIRECTORY";

// Nyissa meg a PDF dokumentumot
Document pdfDocument = new Document(dataDir + "ExtractTextAll.pdf");

Ez a lépés biztosítja, hogy a PDF-fájl megfelelően betöltődik, és készen áll a munkára. ADocument osztály az Aspose.PDF könyvtárból lehetővé teszi a PDF fájl kezelését.

2. lépés: Inicializálja a szövegabszorbert a kivonathoz

Ebben a lépésben létrehozzuk aTextAbsorber objektum, amely szöveg kinyerésére szolgál egy PDF dokumentumból. ATextAbsorber rugalmas, és testreszabható, hogy meghatározott régiókra vagy oldalakra összpontosítson.

// Hozzon létre egy TextAbsorber objektumot a szöveg kivonásához
TextAbsorber absorber = new TextAbsorber();

ATextAbsorberosztály egy hatékony eszköz, amely minden szöveget rögzít az Ön által megadott határokon belül.

3. lépés: Határozza meg azt a régiót, amelyből ki szeretné bontani a szöveget

Itt történik a varázslat. Ahelyett, hogy a teljes oldalról húznánk ki a szöveget, korlátozhatjuk a kibontást az oldal egy meghatározott téglalap alakú területére. Ez akkor tökéletes, ha pontosan tudja, hol található a tartalom.

// A szövegkivonás korlátozása egy adott régióra
absorber.TextSearchOptions.LimitToPageBounds = true;
absorber.TextSearchOptions.Rectangle = new Aspose.Pdf.Rectangle(100, 200, 250, 350);

ARectangle Az objektum lehetővé teszi annak a területnek a koordinátáit (pontokban), ahonnan a szöveg ki lesz bontva. ATextSearchOptions.LimitToPageBounds biztosítja, hogy csak a megadott téglalapon belüli szöveg kerüljön kibontásra.

4. lépés: Fogadja el az Absorbert a kívánt oldalon

A régió beállítása után a következő lépés az, hogy elfogadjuk aTextAbsorber ahhoz az oldalhoz, amelyről szöveget szeretne kinyerni. Itt a PDF első oldalára koncentrálunk.

// Fogadja el az elnyelőt az első oldalhoz
pdfDocument.Pages[1].Accept(absorber);

Felhívva aAccept módszert az oldalon, utasítjuk az Aspose.PDF-et, hogy futtassa az abszorbert, és gyűjtse össze a szöveget a meghatározott régióból.

5. lépés: Töltse le és tárolja a kivont szöveget

Ha az abszorber elvégezte a dolgát, ideje összegyűjteni a kivont szöveget és elmenteni. Ez a lépés magában foglalja a szöveg lekérését és a a.txt fájlt.

// Szerezd meg a kivont szöveget
string extractedText = absorber.Text;

// Hozzon létre egy írót a kivont szöveg mentéséhez
TextWriter tw = new StreamWriter(dataDir + "extracted-text.txt");

// Írja be a szöveget a fájlba
tw.WriteLine(extractedText);

// Zárd be a patakot
tw.Close();

Itt, aTextWriter osztályt a kivont szöveg szövegfájlba írására használják. Ez biztosítja, hogy a kivont tartalmat későbbi felhasználás céljából biztonságosan tároljuk.

Következtetés

A szöveg kinyerése egy PDF-dokumentum egy adott régiójából hihetetlenül hasznos lehet, különösen akkor, ha strukturált tartalommal, például űrlapokkal vagy táblázatokkal foglalkozik. Az Aspose.PDF for .NET használatával ezt a feladatot néhány sornyi kóddal elvégezheti. Egy régió meghatározásával, inicializálásával aTextAbsorber, és a kivont szöveg elmentésével teljes mértékben szabályozhatja, hogy mi kerüljön ki a PDF-ből.

Akár egy kis projekten dolgozik, akár nagy dokumentumokat kezel, ezzel a módszerrel hatékonyan kinyerheti a releváns adatokat PDF-fájljaiból anélkül, hogy a teljes dokumentumot átfésülné.

GYIK

Kivonhatok szöveget több oldalról egyszerre?

Igen, aPages gyűjteménye apdfDocument , alkalmazhatja aTextAbsorber több oldalra.

Mi a teendő, ha a szöveg a PDF egy másik régiójában található?

Könnyen beállíthatja aRectangle koordinátákat, hogy megfeleljenek annak a régiónak, ahol a szöveg található.

Működik ez a beolvasott PDF-ekkel?

Nem, a beolvasott PDF-fájlokhoz OCR-re (optikai karakterfelismerésre) van szükség a képek szöveggé alakításához. Az Aspose.PDF OCR funkciókat is kínál.

Van mód szöveg kivonására meghatározott kulcsszavak alapján?

Igen, használhatodTextFragmentAbsorber kulcsszó alapú szövegkinyeréshez.

Hogyan bonthatok ki szöveget egy titkosított PDF-ből?

Először dekódolnia kell a PDF-fájlt a helyes jelszó megadásával, majd folytassa a szöveg kibontásával.