Cerca e ottieni la pagina di testo nel file PDF

Questo tutorial spiega come utilizzare Aspose.PDF per .NET per cercare e ottenere testo da una pagina specifica nel file PDF. Il codice sorgente C# fornito illustra il processo passo dopo passo.

Prerequisiti

Prima di procedere con il tutorial, assicurati di avere quanto segue:

  • Conoscenza base del linguaggio di programmazione C#.
  • Aspose.PDF per la libreria .NET installata. Puoi ottenerlo dal sito Web Aspose o utilizzare NuGet per installarlo nel tuo progetto.

Passaggio 1: impostare il progetto

Inizia creando un nuovo progetto C# nel tuo ambiente di sviluppo integrato (IDE) preferito e aggiungi un riferimento alla libreria Aspose.PDF per .NET.

Passaggio 2: importa gli spazi dei nomi necessari

Aggiungi le seguenti direttive using all’inizio del file C# per importare gli spazi dei nomi richiesti:

using Aspose.Pdf;
using Aspose.Pdf.Text;

Passaggio 3: carica il documento PDF

Imposta il percorso della directory dei documenti PDF e carica il documento utilizzando il fileDocument classe:

string dataDir = "YOUR DOCUMENT DIRECTORY";
Document pdfDocument = new Document(dataDir + "SearchAndGetTextPage.pdf");

Assicurati di sostituire"YOUR DOCUMENT DIRECTORY" con il percorso effettivo della directory dei documenti.

Passaggio 4: cerca ed estrai il testo da una pagina

Creare unTextFragmentAbsorberoggetto per trovare tutte le istanze della frase di ricerca di input su una pagina specifica:

TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("Figure");

Sostituire"Figure" con il testo effettivo che desideri cercare.

Passaggio 5: cerca in una pagina specifica

Accetta l’assorbitore per una pagina specifica del documento:

pdfDocument.Pages.Accept(textFragmentAbsorber);

Passaggio 6: ottieni i frammenti di testo estratti

Ottieni i frammenti di testo estratti utilizzando il fileTextFragments proprietà delTextFragmentAbsorber oggetto:

TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

Passaggio 7: scorrere i frammenti e i segmenti di testo

Passa in rassegna i frammenti di testo ottenuti e i relativi segmenti e accedi alle loro proprietà:

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);
	}
}

È possibile modificare il codice all’interno del ciclo per eseguire ulteriori azioni su ciascun segmento di testo.

Codice sorgente di esempio per la pagina Cerca e ottieni testo utilizzando Aspose.PDF per .NET

// Il percorso della directory dei documenti.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Apri documento
Document pdfDocument = new Document(dataDir + "SearchAndGetTextPage.pdf");
// Crea un oggetto TextAbsorber per trovare tutte le istanze della frase di ricerca di input
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("Figure");
// Accettare l'assorbitore per tutte le pagine
pdfDocument.Pages.Accept(textFragmentAbsorber);
// Ottieni i frammenti di testo estratti
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
// Passa in rassegna i frammenti
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);
	}
}

Conclusione

Congratulazioni! Hai imparato con successo come cercare e ottenere testo da una pagina specifica di un documento PDF utilizzando Aspose.PDF per .NET. Questo tutorial ha fornito una guida passo passo, dal caricamento del documento all’accesso ai segmenti di testo estratti. Ora puoi incorporare

Domande frequenti

D: Qual è lo scopo del tutorial “Cerca e ottieni pagina di testo”?

R: Il tutorial “Cerca e ottieni pagina di testo” è progettato per illustrare come utilizzare la libreria Aspose.PDF per .NET per cercare e recuperare testo da una pagina specifica all’interno di un file PDF. L’esercitazione fornisce istruzioni dettagliate e codice C# di esempio per dimostrare il processo.

D: In che modo questo tutorial aiuta a estrarre il testo da una pagina specifica in un documento PDF?

R: Questo tutorial ti guida attraverso il processo di estrazione del testo da una particolare pagina di un documento PDF utilizzando la libreria Aspose.PDF. Descrive i passaggi necessari e fornisce il codice C# per cercare una frase di testo specificata nella pagina selezionata e recuperare i segmenti di testo associati.

D: Quali sono i prerequisiti per seguire questo tutorial?

R: Prima di iniziare questo tutorial, dovresti avere una conoscenza di base del linguaggio di programmazione C#. Inoltre, è necessario che sia installata la libreria Aspose.PDF per .NET. Puoi ottenerlo dal sito Web Aspose o utilizzare NuGet per integrarlo nel tuo progetto.

D: Come posso impostare il mio progetto per seguire questo tutorial?

R: Per iniziare, crea un nuovo progetto C# nel tuo ambiente di sviluppo integrato (IDE) preferito e aggiungi un riferimento alla libreria Aspose.PDF per .NET. Ciò ti consentirà di utilizzare le funzionalità della libreria nel tuo progetto.

D: Posso cercare del testo su una pagina specifica del documento PDF?

R: Sì, questo tutorial mostra come cercare testo su una pagina specifica di un documento PDF. Implica l’utilizzo diTextFragmentAbsorber classe per individuare le istanze di una particolare frase di testo sulla pagina scelta.

D: Come posso accedere ai segmenti di testo estratti dalla pagina specifica?

R: Dopo aver cercato il testo nella pagina designata, puoi accedere ai segmenti di testo estratti utilizzando il fileTextSegments proprietà delTextFragment oggetto. Questa proprietà fornisce l’accesso a una raccolta diTextSegment oggetti che contengono il testo estratto e le relative informazioni.

D: Quali informazioni posso recuperare dai segmenti di testo estratti?

R: Puoi recuperare vari dettagli dai segmenti di testo estratti, incluso il contenuto del testo, la posizione (coordinate X e Y), le informazioni sul carattere (nome, dimensione, colore, ecc.) e altro. Il codice di esempio dell’esercitazione mostra come accedere e stampare questi dettagli per ogni segmento di testo.

D: Posso eseguire azioni personalizzate sui segmenti di testo estratti?

R: Certamente. Una volta estratti i segmenti di testo, puoi personalizzare il codice all’interno del loop per eseguire azioni aggiuntive su ciascun segmento. Ciò potrebbe includere il salvataggio del testo estratto, l’analisi dei modelli di testo o l’applicazione di modifiche alla formattazione.