Wyszukaj i uzyskaj cały tekst

W tym samouczku wyjaśniono, jak używać Aspose.PDF dla .NET do wyszukiwania i pobierania tekstu ze wszystkich stron dokumentu PDF. Dostarczony kod źródłowy języka C# demonstruje proces krok po kroku.

Warunki wstępne

Przed kontynuowaniem samouczka upewnij się, że posiadasz następujące elementy:

  • Podstawowa znajomość języka programowania C#.
  • Zainstalowana biblioteka Aspose.PDF dla .NET. Możesz go uzyskać ze strony internetowej Aspose lub użyć NuGet, aby zainstalować go w swoim projekcie.

Krok 1: Skonfiguruj projekt

Zacznij od utworzenia nowego projektu C# w preferowanym zintegrowanym środowisku programistycznym (IDE) i dodaj odwołanie do biblioteki Aspose.PDF dla .NET.

Krok 2: Zaimportuj niezbędne przestrzenie nazw

Dodaj następujące dyrektywy using na początku pliku C#, aby zaimportować wymagane przestrzenie nazw:

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

Krok 3: Załaduj dokument PDF

Ustaw ścieżkę do katalogu dokumentów PDF i załaduj dokument za pomocąDocument klasa:

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

Pamiętaj o wymianie"YOUR DOCUMENT DIRECTORY" z rzeczywistą ścieżką do katalogu dokumentów.

Krok 4: Wyszukaj i wyodrębnij tekst

StwórzTextFragmentAbsorber obiekt, aby znaleźć wszystkie wystąpienia wprowadzonej frazy wyszukiwania:

TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

Zastępować"text" z rzeczywistym tekstem, który chcesz wyszukać.

Krok 5: Wyszukaj na wszystkich stronach

Zaakceptuj absorber dla wszystkich stron dokumentu:

pdfDocument.Pages.Accept(textFragmentAbsorber);

Krok 6: pobierz wyodrębnione fragmenty tekstu

Pobierz wyodrębnione fragmenty tekstu za pomocą metodyTextFragments własnośćTextFragmentAbsorber obiekt:

TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

Krok 7: Przejrzyj fragmenty tekstu w pętli

Przejrzyj otrzymane fragmenty tekstu i uzyskaj dostęp do ich właściwości:

foreach (TextFragment textFragment in textFragmentCollection)
{
    Console.WriteLine("Text: {0} ", textFragment.Text);
    Console.WriteLine("Position: {0} ", textFragment.Position);
    Console.WriteLine("XIndent: {0} ", textFragment.Position.XIndent);
    Console.WriteLine("YIndent: {0} ", textFragment.Position.YIndent);
    Console.WriteLine("Font - Name: {0}", textFragment.TextState.Font.FontName);
    Console.WriteLine("Font - IsAccessible: {0} ", textFragment.TextState.Font.IsAccessible);
    Console.WriteLine("Font - IsEmbedded: {0} ", textFragment.TextState.Font.IsEmbedded);
    Console.WriteLine("Font - IsSubset: {0} ", textFragment.TextState.Font.IsSubset);
    Console.WriteLine("Font Size: {0} ", textFragment.TextState.FontSize);
    Console.WriteLine("Foreground Color: {0} ", textFragment.TextState.ForegroundColor);
}

Możesz modyfikować kod w pętli, aby wykonać dalsze akcje na każdym fragmencie tekstu.

Przykładowy kod źródłowy funkcji Wyszukaj i pobierz tekst przy użyciu Aspose.PDF dla .NET

// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Otwórz dokument
Document pdfDocument = new Document(dataDir + "SearchAndGetTextFromAll.pdf");
// Utwórz obiekt TextAbsorber, aby znaleźć wszystkie wystąpienia wprowadzonej frazy wyszukiwania
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
// Zaakceptuj pochłaniacz dla wszystkich stron
pdfDocument.Pages.Accept(textFragmentAbsorber);
// Pobierz wyodrębnione fragmenty tekstu
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
// Przejrzyj fragmenty
foreach (TextFragment textFragment in textFragmentCollection)
{
	Console.WriteLine("Text : {0} ", textFragment.Text);
	Console.WriteLine("Position : {0} ", textFragment.Position);
	Console.WriteLine("XIndent : {0} ", textFragment.Position.XIndent);
	Console.WriteLine("YIndent : {0} ", textFragment.Position.YIndent);
	Console.WriteLine("Font - Name : {0}", textFragment.TextState.Font.FontName);
	Console.WriteLine("Font - IsAccessible : {0} ", textFragment.TextState.Font.IsAccessible);
	Console.WriteLine("Font - IsEmbedded : {0} ", textFragment.TextState.Font.IsEmbedded);
	Console.WriteLine("Font - IsSubset : {0} ", textFragment.TextState.Font.IsSubset);
	Console.WriteLine("Font Size : {0} ", textFragment.TextState.FontSize);
	Console.WriteLine("Foreground Color : {0} ", textFragment.TextState.ForegroundColor);
}

Wniosek

Gratulacje! Pomyślnie nauczyłeś się wyszukiwać i pobierać tekst ze wszystkich stron dokumentu PDF przy użyciu Aspose.PDF dla .NET. W tym samouczku przedstawiono przewodnik krok po kroku, począwszy od załadowania dokumentu po uzyskanie dostępu do wyodrębnionych fragmentów tekstu. Możesz teraz włączyć ten kod do własnych projektów C#, aby analizować i przetwarzać zawartość tekstową w plikach PDF.

Często zadawane pytania

P: Jaki jest cel samouczka „Wyszukaj i pobierz tekst”?

Odp.: Samouczek „Wyszukaj i uzyskaj cały tekst” pokazuje, jak wykorzystać bibliotekę Aspose.PDF dla .NET do wyszukiwania i wyodrębniania tekstu ze wszystkich stron dokumentu PDF. Samouczek zawiera instrukcje krok po kroku wraz z przykładowym kodem C# umożliwiającym wyszukiwanie i pobieranie tekstu.

P: W jaki sposób ten samouczek pomaga w wyodrębnianiu tekstu z dokumentów PDF?

Odp.: Ten samouczek przeprowadzi Cię przez proces wyodrębniania tekstu ze wszystkich stron dokumentu PDF. Wykorzystuje bibliotekę Aspose.PDF do lokalizowania określonych fraz tekstowych i pobierania powiązanych informacji, takich jak położenie, właściwości czcionki i kolory.

P: Jakie są wymagania wstępne dotyczące korzystania z tego samouczka?

Odp.: Przed rozpoczęciem tego samouczka należy posiadać podstawową wiedzę na temat języka programowania C#. Dodatkowo musisz mieć zainstalowaną bibliotekę Aspose.PDF dla .NET. Możesz go uzyskać ze strony internetowej Aspose lub użyć NuGet, aby zintegrować go ze swoim projektem.

P: Jak skonfigurować projekt tak, aby działał zgodnie z tym samouczkiem?

O: Aby rozpocząć, utwórz nowy projekt C# w preferowanym zintegrowanym środowisku programistycznym (IDE) i dodaj odwołanie do biblioteki Aspose.PDF dla .NET. Umożliwi to dostęp do funkcjonalności biblioteki w Twoim projekcie.

P: Jak wyszukać określony tekst w dokumencie PDF?

Odp.: Możesz użyćTextFragmentAbsorberclass, aby znaleźć wystąpienia określonej wyszukiwanej frazy w dokumencie PDF. Tworząc instancję tej klasy i określając tekst docelowy, możesz przechwycić wszystkie wystąpienia tego tekstu.

P: Czy mogę wyszukiwać tekst na wszystkich stronach dokumentu PDF?

Odp.: Tak, samouczek pokazuje, jak wyszukiwać tekst na wszystkich stronach dokumentu PDF. ThepdfDocument.Pages.Accept(textFragmentAbsorber) metoda służy do akceptacji pochłaniacza dla wszystkich stron, co pozwala na wyszukiwanie żądanego tekstu na każdej stronie.

P: Jak uzyskać dostęp do wyodrębnionych fragmentów tekstu?

Odp.: Po wyszukaniu tekstu możesz uzyskać dostęp do wyodrębnionych fragmentów tekstu za pomocąTextFragments własnośćTextFragmentAbsorber obiekt. Ta właściwość zapewnia dostęp do kolekcjiTextFragment obiekty zawierające wyodrębniony tekst i powiązane informacje.

P: Jakie informacje mogę uzyskać z wyodrębnionych fragmentów tekstu?

O: Z wyodrębnionych fragmentów tekstu można uzyskać różne szczegóły, takie jak rzeczywista treść tekstu, położenie (współrzędne X i Y), informacje o czcionce (nazwa, rozmiar, kolor itp.) i inne. Przykładowy kod samouczka pokazuje, jak uzyskać dostęp do tych szczegółów i wydrukować je.

P: Czy mogę wykonać dalsze działania na wyodrębnionych fragmentach tekstu?

O: Absolutnie. Po wyodrębnieniu fragmentów tekstu możesz zmodyfikować kod w pętli, aby wykonać niestandardowe działania na każdym fragmencie. Może to obejmować zapisanie wyodrębnionego tekstu, analizę wzorców tekstu lub zastosowanie zmian formatowania.