Oszlopok szövegének kibontása PDF-fájlban

Ez az oktatóanyag végigvezeti Önt az oszlopok szövegének PDF-fájlba történő kibontásán az Aspose.PDF for .NET használatával. A mellékelt C# forráskód bemutatja a szükséges lépéseket.

Követelmények

Mielőtt elkezdené, győződjön meg arról, hogy rendelkezik a következőkkel:

  • Visual Studio vagy bármely más C# fordító telepítve a gépedre.
  • Aspose.PDF .NET könyvtárhoz. Letöltheti az Aspose hivatalos webhelyéről, vagy használhat csomagkezelőt, például a NuGetet a telepítéséhez.

1. lépés: Állítsa be a projektet

  1. Hozzon létre egy új C# projektet a kívánt fejlesztői környezetben.
  2. Adjon hozzá hivatkozást az Aspose.PDF for .NET könyvtárhoz.

2. lépés: Importálja a szükséges névtereket

Abban a kódfájlban, amelybe az oszlopok szövegét ki szeretné bontani, adja hozzá a következőket a fájl tetején található direktívák használatával:

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

3. lépés: Állítsa be a dokumentumkönyvtárat

A kódban keresse meg azt a sort, amely ezt mondjastring dataDir = "YOUR DOCUMENT DIRECTORY"; és cserélje ki"YOUR DOCUMENT DIRECTORY" annak a könyvtárnak az elérési útjával, ahol a dokumentumokat tárolják.

4. lépés: Nyissa meg a PDF dokumentumot

Nyisson meg egy meglévő PDF dokumentumot aDocumentkonstruktort, és átadja a bemeneti PDF-fájl elérési útját.

Document pdfDocument = new Document(dataDir + "ExtractTextPage.pdf");

5. lépés: Állítsa be a betűméretet

Csökkentse a szövegrészletek betűméretét 0,7-szeresére az olvashatóság javítása és az oszlopos szöveg jobb megjelenítése érdekében.

TextFragmentAbsorber tfa = new TextFragmentAbsorber();
pdfDocument.Pages.Accept(tfa);
TextFragmentCollection tfc = tfa.TextFragments;
foreach(TextFragment tf in tfc)
{
     tf.TextState.FontSize = tf.TextState.FontSize * 0.7f;
}

6. lépés: Szöveg kibontása az oszlopokból

Mentse el a módosított PDF dokumentumot egy memóriafolyamba, és töltse be újra új dokumentumként. Ezután használja aTextAbsorber osztályt, hogy szöveget vonhasson ki az oszlopokból.

Stream st = new MemoryStream();
pdfDocument.Save(st);
pdfDocument = new Document(st);
TextAbsorber textAbsorber = new TextAbsorber();
pdfDocument.Pages.Accept(textAbsorber);
String extractedText = textAbsorber.Text;
textAbsorber.Visit(pdfDocument);

7. lépés: Mentse el a kicsomagolt szöveget

Mentse a kibontott szöveget egy szövegfájlba a megadott kimeneti fájl elérési útján.

dataDir = dataDir + "ExtractColumnsText_out.txt";
File.WriteAllText(dataDir, extractedText);
Console.WriteLine("\nColumns text extracted successfully from Pages of PDF Document.\nFile saved at " + dataDir);

Minta forráskód az Oszlopok szövegének kibontásához az Aspose.PDF for .NET használatával

// A dokumentumok könyvtárának elérési útja.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Nyissa meg a dokumentumot
Document pdfDocument = new Document(dataDir + "ExtractTextPage.pdf");                
TextFragmentAbsorber tfa = new TextFragmentAbsorber();
pdfDocument.Pages.Accept(tfa);
TextFragmentCollection tfc = tfa.TextFragments;
foreach (TextFragment tf in tfc)
{
	// A betűméretet legalább 70%-kal csökkenteni kell
	tf.TextState.FontSize = tf.TextState.FontSize * 0.7f;
}
Stream st = new MemoryStream();
pdfDocument.Save(st);
pdfDocument = new Document(st);
TextAbsorber textAbsorber = new TextAbsorber();
pdfDocument.Pages.Accept(textAbsorber);
String extractedText = textAbsorber.Text;
textAbsorber.Visit(pdfDocument); 
dataDir = dataDir + "ExtractColumnsText_out.txt";
System.IO.File.WriteAllText(dataDir, extractedText);           
Console.WriteLine("\nColumns text extracted successfully from Pages of PDF Document.\nFile saved at " + dataDir);

Következtetés

Sikeresen kinyerte az oszlopok szövegét egy PDF-dokumentumból az Aspose.PDF for .NET használatával. A kivont szöveget a rendszer a megadott kimeneti fájlba mentette.

GYIK

K: Mi a célja ennek az oktatóanyagnak?

V: Ez az oktatóanyag lépésről lépésre nyújt útmutatót a szövegoszlopok PDF-fájlból való kibontásához az Aspose.PDF for .NET használatával. A mellékelt C# forráskód gyakorlati bemutatót nyújt a szükséges eljárásokról.

K: Milyen névtereket kell importálnom?

V: Abba a kódfájlba, amelybe szövegoszlopokat kíván kivonni, a fájl elejére írja be a következőket direktívák használatával:

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

K: Hogyan adhatom meg a dokumentumkönyvtárat?

V: Keresse meg a vonalatstring dataDir = "YOUR DOCUMENT DIRECTORY"; a kódban és cserélje ki"YOUR DOCUMENT DIRECTORY" a dokumentumkönyvtár tényleges elérési útjával.

K: Hogyan nyithatok meg egy meglévő PDF-dokumentumot?

V: A 4. lépésben megnyit egy meglévő PDF-dokumentumot aDocument konstruktort, és megadja a bemeneti PDF-fájl elérési útját.

K: Miért van módosítva a betűméret?

V: Az 5. lépésben a szövegrészletek betűméretét 0,7-szeresére csökkentjük. Ez a beállítás javítja az olvashatóságot, és pontosabban jeleníti meg az oszlopos szöveget.

K: Hogyan vonhatok ki szöveget az oszlopokból?

V: A 6. lépésben a módosított PDF-dokumentumot elmenti egy memóriafolyamba, új dokumentumként betölti, majd aTextAbsorber osztályt, hogy szöveget vonhasson ki az oszlopokból.

K: Mi a célja a kivont szöveg mentésének?

V: A 7. lépésben a kibontott szöveget a megadott kimeneti fájl elérési útvonalán lévő szövegfájlba menti.

K: Miért kell csökkenteni a betűméretet a kibontás előtt?

V: A betűméret csökkentése segít abban, hogy a kivonatolt szöveg megfelelően igazodjon az oszlopokon belülre, így az eredeti elrendezés pontosabb megjelenítése.

K: Mi a legfontosabb kivonat ebből az oktatóanyagból?

V: Az oktatóanyag követésével megszerezte azokat az ismereteket és készségeket, amelyek szükségesek ahhoz, hogy szövegoszlopokat bontsanak ki egy PDF-dokumentumból az Aspose.PDF for .NET használatával. Az eredményül kapott szöveget elmentette a megadott kimeneti fájlba.