Szövegszegmensek oldal keresése PDF-fájlban
Bevezetés
Gondolkozott már azon, hogyan kereshet meg adott szövegszegmenseket egy PDF-dokumentumban az Aspose.PDF for .NET használatával? Nos, szerencséd van! Ebben az útmutatóban egy egyszerű, lépésről lépésre végigvezetjük a folyamaton. Akár információkat szeretne kinyerni, szöveget elemezni, akár egyszerűen eligazodni a PDF-manipuláció bonyodalmaiban, az Aspose.PDF for .NET mindent megtalál. Merüljünk el!
Előfeltételek
Mielőtt elkezdené, győződjön meg arról, hogy minden szükséges eszközzel rendelkezik:
- Aspose.PDF for .NET: Győződjön meg arról, hogy a könyvtár telepítve van. Elkaphatod tőleitt.
- .NET-keretrendszer: Győződjön meg arról, hogy a .NET telepítve van a számítógépen.
- Fejlesztési környezet: A Visual Studio vagy bármely .NET által támogatott IDE ajánlott.
- PDF-dokumentum: PDF-fájl, amelyben szöveges szegmenseket kereshet.
Ha még nem rendelkezik Aspose.PDF .NET-hez, ne aggódjon! Ingyenes próbaverziót kaphat aitt vagy vásárolja megitt.
Csomagok importálása
Mielőtt elkezdené a kódolást, kulcsfontosságú, hogy importálja a szükséges csomagokat a projektbe. Ez biztosítja, hogy az összes szükséges osztály és metódus elérhető legyen a PDF-kezelési feladatokhoz.
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
Ha a legfontosabb dolgok a helyükön vannak, ugorjunk bele a lépésről lépésre szóló útmutatóba.
1. lépés: Töltse be a PDF-dokumentumot
A folyamat első lépése a PDF-fájl betöltése a programba. Betöltött dokumentum nélkül nincs mit keresni, igaz? Íme, hogyan kell csinálni.
// A dokumentumok könyvtárának elérési útja.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Nyissa meg a dokumentumot
Document pdfDocument = new Document(dataDir + "SearchTextSegmentsPage.pdf");
dataDir
: Ez a változó tartalmazza a PDF-fájl elérési útját. Cserélje ki"YOUR DOCUMENT DIRECTORY"
azzal a könyvtárral, ahol a fájl tárolva van.pdfDocument
: ADocument
osztályban betöltjük a PDF-et a memóriába.
2. lépés: Állítsa be a szöveges keresést
Most, hogy a dokumentum betöltődött, a következő lépés az aTextFragmentAbsorber
objektum, amely lehetővé teszi, hogy meghatározott szöveget keressünk a dokumentumon belül.
// Hozzon létre TextAbsorber objektumot a bemeneti keresési kifejezés összes példányának megtalálásához
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
TextFragmentAbsorber
: Ez az objektum a keresett szöveg minden előfordulásának rögzítésére szolgál. Cserélje ki"text"
a keresni kívánt szöveggel.
3. lépés: Az Absorber elfogadása adott oldal(ok)hoz
Előfordulhat, hogy nem mindig szeretne a teljes PDF-dokumentumban keresni. Ebben a példában egy adott oldalra szűkítjük le.
// Fogadja el az összes oldal elnyelőjét
pdfDocument.Pages[2].Accept(textFragmentAbsorber);
pdfDocument.Pages[2]
: Ez azt jelzi, hogy csak a dokumentum második oldalán keresünk. Módosíthatja az indexet más oldalak megcélzásához.Accept()
: Ez a módszer lehetővé teszi aTextFragmentAbsorber
a megadott oldalon belüli szöveg feldolgozásához.
4. lépés: Bontsa ki a szövegtöredékeket
Az oldalon való keresés után a talált szövegrészleteket gyűjteménybe gyűjtjük.
// Szerezze be a kivont szövegrészleteket
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
TextFragmentCollection
: Ez a gyűjtemény tartalmazza a keresési folyamat során talált szövegrészletek összes példányát.
5. lépés: Szövegtöredékek áthurkolása és adatok kibontása
Most nézzük át az egyes szövegrészleteket, és vegyük ki a részleteket, például a pozíciót, a betűtípust és a színt.
// Hurok át a töredékeken
foreach (TextFragment textFragment in textFragmentCollection)
{
foreach (TextSegment textSegment in textFragment.Segments)
{
Console.WriteLine("Text : {0} ", textSegment.Text);
Console.WriteLine("Position : {0} ", textSegment.Position);
Console.WriteLine("XIndent : {0} ", textSegment.Position.XIndent);
Console.WriteLine("YIndent : {0} ", textSegment.Position.YIndent);
Console.WriteLine("Font - Name : {0}", textSegment.TextState.Font.FontName);
Console.WriteLine("Font - IsAccessible : {0} ", textSegment.TextState.Font.IsAccessible);
Console.WriteLine("Font - IsEmbedded : {0} ", textSegment.TextState.Font.IsEmbedded);
Console.WriteLine("Font - IsSubset : {0} ", textSegment.TextState.Font.IsSubset);
Console.WriteLine("Font Size : {0} ", textSegment.TextState.FontSize);
Console.WriteLine("Foreground Color : {0} ", textSegment.TextState.ForegroundColor);
}
}
foreach (TextFragment textFragment in textFragmentCollection)
: Mindegyiket végigfutjukTextFragment
a gyűjteményben.foreach (TextSegment textSegment in textFragment.Segments)
: Minden töredéken belül több szegmens található. Átkutatjuk őket, hogy minden lényeges információt összegyűjtsünk.- Különféle tulajdonságai
textSegment
Ezek részletes információkat adnak a szövegről, például a helyzetéről (X és Y), a betűtípus részleteiről, méretéről és színéről.
6. lépés: Írja ki az eredményeket
Végül az összes információ kinyerése után az eredmények kinyomtatásra kerülnek a konzolon. Ez segít pontosan látni, hol található a szöveg és formázási részletei.
Íme egy minta kimenet az egyértelműség kedvéért:
Text : text
Position : X: 45.0, Y: 75.0
XIndent : 45.0
YIndent : 75.0
Font - Name : Arial
Font - IsAccessible : True
Font - IsEmbedded : False
Font - IsSubset : False
Font Size : 12.0
Foreground Color : System.Drawing.Color [Black]
- Ez a kimenet megadja a “szöveg” szöveg pontos helyét és formázási információit a megadott oldalon.
Következtetés
És megvan! Most tanulta meg, hogyan kereshet meghatározott szövegszegmenseket egy PDF-dokumentumban az Aspose.PDF for .NET használatával. Ez a folyamat rendkívül praktikus nagy PDF-ek kezelésekor, lehetővé téve a kulcsszövegek hatékony meghatározását és kibontását. Legyen szó adatok elemzéséről, információk kinyeréséről vagy egyszerűen navigálásról egy dokumentumban, az Aspose.PDF hatékony eszközöket biztosít a munka elvégzéséhez.
GYIK
Kereshetek több szóra vagy kifejezésre?
Igen, módosíthatja aTextFragmentAbsorber
különböző szövegek kereséséhez a beviteli karakterlánc megváltoztatásával.
Lehetséges több oldalon keresni?
Teljesen! A PDF összes oldala között ismétléssel lapozhatpdfDocument.Pages
.
Hogyan kereshetek kis- és nagybetűket nem megkülönböztető szöveget?
HasználhatodTextSearchOptions
hogy lehetővé tegye a kis- és nagybetűket megkülönböztető keresést.
Módosíthatom a szöveget, miután megtaláltam?
Igen, ha egyszer megtalálta aTextFragment
, módosíthatja a szöveg tulajdonságait.
Alkalmazható ez a módszer titkosított PDF-ekre?
Igen, mindaddig, amíg feloldja a PDF zárolását a megfelelő jelszóval.