Kolommentekst extraheren in PDF-bestand
Deze tutorial leidt u door het proces van het extraheren van kolomtekst in een PDF-bestand met Aspose.PDF voor .NET. De meegeleverde C#-broncode demonstreert de noodzakelijke stappen.
Vereisten
Zorg ervoor dat u over het volgende beschikt voordat u begint:
- Visual Studio of een andere C#-compiler die op uw computer is geïnstalleerd.
- Aspose.PDF voor .NET-bibliotheek. Je kunt het downloaden van de officiële Aspose-website of een pakketbeheerder zoals NuGet gebruiken om het te installeren.
Stap 1: Zet het project op
- Maak een nieuw C#-project in de ontwikkelomgeving van uw voorkeur.
- Voeg een verwijzing toe naar de Aspose.PDF voor .NET-bibliotheek.
Stap 2: Importeer de vereiste naamruimten
Voeg in het codebestand waarin u de kolommentekst wilt extraheren het volgende toe met behulp van richtlijnen bovenaan het bestand:
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System.IO;
Stap 3: Stel de documentmap in
Zoek in de code de regel met de tekststring dataDir = "YOUR DOCUMENT DIRECTORY";
en vervangen"YOUR DOCUMENT DIRECTORY"
met het pad naar de map waar uw documenten zijn opgeslagen.
Stap 4: Open het PDF-document
Open een bestaand PDF-document met behulp van deDocument
constructor en geef het pad door aan het invoer-PDF-bestand.
Document pdfDocument = new Document(dataDir + "ExtractTextPage.pdf");
Stap 5: Pas de lettergrootte aan
Verklein de lettergrootte van de tekstfragmenten met een factor 0,7 om de leesbaarheid te verbeteren en de kolomtekst beter weer te geven.
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;
}
Stap 6: Extraheer tekst uit kolommen
Sla het gewijzigde PDF-document op in een geheugenstroom en laad het opnieuw als een nieuw document. Gebruik dan deTextAbsorber
klasse om tekst uit de kolommen te extraheren.
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);
Stap 7: Sla de geëxtraheerde tekst op
Sla de geëxtraheerde tekst op in een tekstbestand op het opgegeven uitvoerbestandspad.
dataDir = dataDir + "ExtractColumnsText_out.txt";
File.WriteAllText(dataDir, extractedText);
Console.WriteLine("\nColumns text extracted successfully from Pages of PDF Document.\nFile saved at " + dataDir);
Voorbeeldbroncode voor het extraheren van kolommentekst met Aspose.PDF voor .NET
// Het pad naar de documentenmap.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Document openen
Document pdfDocument = new Document(dataDir + "ExtractTextPage.pdf");
TextFragmentAbsorber tfa = new TextFragmentAbsorber();
pdfDocument.Pages.Accept(tfa);
TextFragmentCollection tfc = tfa.TextFragments;
foreach (TextFragment tf in tfc)
{
// Moet de lettergrootte minstens voor 70% verkleinen
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);
Conclusie
U hebt met succes kolomtekst uit een PDF-document geëxtraheerd met Aspose.PDF voor .NET. De geëxtraheerde tekst is opgeslagen in het opgegeven uitvoerbestand.
Veelgestelde vragen
Vraag: Wat is het doel van deze tutorial?
A: Deze tutorial biedt een stapsgewijze handleiding voor het extraheren van tekstkolommen uit een PDF-bestand met Aspose.PDF voor .NET. De bijbehorende C#-broncode biedt een praktische demonstratie van de vereiste procedures.
Vraag: Welke naamruimten moet ik importeren?
A: In het codebestand waarin u tekstkolommen wilt extraheren, neemt u de volgende instructies op aan het begin van het bestand:
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System.IO;
Vraag: Hoe geef ik de documentmap op?
A: Zoek de lijnstring dataDir = "YOUR DOCUMENT DIRECTORY";
in de code en vervang"YOUR DOCUMENT DIRECTORY"
met het daadwerkelijke pad naar uw documentmap.
Vraag: Hoe open ik een bestaand PDF-document?
A: In stap 4 opent u een bestaand PDF-document met behulp van deDocument
constructor en het pad naar het invoer-PDF-bestand opgeven.
Vraag: Waarom wordt de lettergrootte aangepast?
A: Stap 5 bestaat uit het verkleinen van de lettergrootte van tekstfragmenten met een factor 0,7. Deze aanpassing verbetert de leesbaarheid en geeft kolomvormige tekst nauwkeuriger weer.
Vraag: Hoe extraheer ik tekst uit kolommen?
A: Stap 6 bestaat uit het opslaan van het gewijzigde PDF-document in een geheugenstroom, het opnieuw laden ervan als een nieuw document en het vervolgens gebruiken van deTextAbsorber
klasse om tekst uit de kolommen te extraheren.
Vraag: Wat is het doel van het opslaan van de geëxtraheerde tekst?
A: In stap 7 slaat u de geëxtraheerde tekst op in een tekstbestand op het opgegeven uitvoerbestandspad.
Vraag: Waarom de lettergrootte verkleinen vóór het uitpakken?
A: Het verkleinen van de lettergrootte zorgt ervoor dat de geëxtraheerde tekst goed wordt uitgelijnd binnen de kolommen, waardoor een nauwkeurigere weergave van de oorspronkelijke lay-out ontstaat.
Vraag: Wat is de belangrijkste conclusie uit deze tutorial?
A: Door deze tutorial te volgen, heeft u de kennis en vaardigheden verworven die nodig zijn om tekstkolommen uit een PDF-document te extraheren met behulp van Aspose.PDF voor .NET. De resulterende tekst is opgeslagen in het opgegeven uitvoerbestand.