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ágaitextSegmentEzek 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 aTextFragmentAbsorberkü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.