Wyszukaj wyrażenie regularne w pliku PDF
W tym samouczku wyjaśniono, jak używać Aspose.PDF dla .NET do wyszukiwania i pobierania tekstu pasującego do wyrażenia regularnego w pliku 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 + "SearchRegularExpressionAll.pdf");
Pamiętaj o wymianie"YOUR DOCUMENT DIRECTORY"
z rzeczywistą ścieżką do katalogu dokumentów.
Krok 4: Wyszukaj za pomocą wyrażeń regularnych
StwórzTextFragmentAbsorber
obiekt i ustaw wzorzec wyrażenia regularnego, aby znaleźć wszystkie frazy pasujące do wzorca:
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Podobnie jak w latach 1999-2000
Zastępować"\\d{4}-\\d{4}"
z żądanym wzorcem wyrażenia regularnego.
Krok 5: Ustaw opcje wyszukiwania tekstu
StwórzTextSearchOptions
obiekt i ustaw go naTextSearchOptions
własnośćTextFragmentAbsorber
obiekt umożliwiający użycie wyrażeń regularnych:
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.TextSearchOptions = textSearchOptions;
Krok 6: Wyszukaj na wszystkich stronach
Zaakceptuj absorber dla wszystkich stron dokumentu:
pdfDocument.Pages.Accept(textFragmentAbsorber);
Krok 7: Pobierz wyodrębnione fragmenty tekstu
Pobierz wyodrębnione fragmenty tekstu za pomocą metodyTextFragments
własnośćTextFragmentAbsorber
obiekt:
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
Krok 8: Przejrzyj fragmenty tekstu w pętli
Przejrzyj pobrane 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 wyszukiwania wyrażeń regularnych 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 + "SearchRegularExpressionAll.pdf");
// Utwórz obiekt TextAbsorber, aby znaleźć wszystkie frazy pasujące do wyrażenia regularnego
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Podobnie jak w latach 1999-2000
// Ustaw opcję wyszukiwania tekstu, aby określić użycie wyrażeń regularnych
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.TextSearchOptions = textSearchOptions;
// 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 odzyskiwać tekst pasujący do wyrażenia regularnego w dokumencie 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 przeprowadzać zaawansowane wyszukiwanie tekstu w plikach PDF.
Często zadawane pytania
P: Jaki jest cel samouczka „Wyszukiwanie wyrażeń regularnych w pliku PDF”?
Odp.: Samouczek „Wyszukaj wyrażenie regularne w pliku PDF” ma na celu pokazanie, jak używać biblioteki Aspose.PDF dla .NET do wyszukiwania i wyodrębniania tekstu pasującego do określonego wzorca wyrażenia regularnego w pliku PDF. Samouczek zawiera kompleksowe wskazówki i przykładowy kod C# w celu zademonstrowania procesu.
P: W jaki sposób ten samouczek pomaga w wyszukiwaniu tekstu przy użyciu wyrażeń regularnych w dokumencie PDF?
Odp.: W tym samouczku przedstawiono krok po kroku korzystanie z biblioteki Aspose.PDF w celu wyszukiwania tekstu w dokumencie PDF w oparciu o wzorzec wyrażeń regularnych. Zawiera szczegółowe informacje na temat konfigurowania projektu, ładowania dokumentu PDF, definiowania wzorca wyrażeń regularnych i pobierania pasujących fragmentów tekstu.
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: Na początek utwórz nowy projekt C# w preferowanym zintegrowanym środowisku programistycznym (IDE) i dodaj odwołanie do biblioteki Aspose.PDF dla .NET. Umożliwi to wykorzystanie możliwości biblioteki w projekcie.
P: Czy mogę używać wyrażeń regularnych do wyszukiwania tekstu w dokumencie PDF?
Odp.: Tak, w tym samouczku pokazano, jak używać wyrażeń regularnych do wyszukiwania i wyodrębniania tekstu z dokumentu PDF. Polega na wykorzystaniuTextFragmentAbsorber
class i określenie wzorca wyrażenia regularnego, aby znaleźć frazy pasujące do podanego wzorca.
P: Jak zdefiniować wzorzec wyrażeń regularnych dla wyszukiwania tekstowego?
O: Aby zdefiniować wzorzec wyrażeń regularnych dla wyszukiwania tekstowego, utwórz plikTextFragmentAbsorber
obiekt i ustaw jego wzór za pomocąText
parametr. Zastąp domyślny wzór"\\d{4}-\\d{4}"
w kodzie samouczka żądanym wzorcem wyrażenia regularnego.
P: Jak mogę włączyć użycie wyrażeń regularnych w wyszukiwaniu tekstowym?
O: Użycie wyrażeń regularnych jest włączane poprzez utworzenie plikuTextSearchOptions
obiekt i ustawienie jego wartości natrue
. Przypisz ten obiekt doTextSearchOptions
własnośćTextFragmentAbsorber
instancja. Dzięki temu podczas wyszukiwania tekstu zostanie zastosowany wzorzec wyrażenia regularnego.
P: Czy mogę odzyskać fragmenty tekstu pasujące do wzorca wyrażenia regularnego?
O: Absolutnie. Po zastosowaniu wyszukiwania wyrażeń regularnych w dokumencie PDF możesz odzyskać wyodrębnione fragmenty tekstu za pomocąTextFragments
własnośćTextFragmentAbsorber
obiekt. Te fragmenty tekstu zawierają segmenty tekstu pasujące do określonego wzorca wyrażenia regularnego.
P: Do czego mogę uzyskać dostęp z pobranych fragmentów tekstu?
O: Z pobranych fragmentów tekstu można uzyskać dostęp do różnych właściwości, takich jak dopasowana treść tekstu, położenie (współrzędne X i Y), informacje o czcionce (nazwa, rozmiar, kolor) i inne. Przykładowy kod w pętli samouczka pokazuje, jak uzyskać dostęp do tych właściwości i je wyświetlić.
P: Jak mogę dostosować działania na wyodrębnionych fragmentach tekstu?
O: Po wyodrębnieniu fragmentów tekstu możesz dostosować kod w pętli, aby wykonać dodatkowe działania na każdym fragmencie tekstu. Może to obejmować zapisanie wyodrębnionego tekstu, analizowanie wzorców lub wdrażanie zmian formatowania w zależności od wymagań.