Wyodrębnij tekst z obszaru strony w pliku PDF
Wstęp
Praca z plikami PDF często wymaga wyodrębniania określonej zawartości, niezależnie od tego, czy chodzi o pobieranie danych z formularzy, tabel czy określonych sekcji dokumentu. W tym samouczku pokażemy, jak wyodrębnić tekst z określonego obszaru pliku PDF przy użyciu Aspose.PDF dla .NET. Zamiast przeszukiwać cały dokument, dokładnie wskażemy, gdzie znajduje się tekst i wydajnie go wyodrębnimy.
Wymagania wstępne
Zanim przejdziemy do kodu, upewnij się, że masz następujące elementy:
- Aspose.PDF dla .NET: Jeśli jeszcze tego nie zrobiłeś, pobierz i zainstaluj bibliotekę Aspose.PDF dla .NET.Pobierz Aspose.PDF dla .NET.
- IDE: Dowolne środowisko programistyczne .NET, np. Visual Studio.
- .NET Framework: Upewnij się, że Twój projekt jest skonfigurowany z wykorzystaniem odpowiedniego środowiska .NET Framework.
- Dokument PDF: Przykładowy plik PDF, z którego wyodrębnimy tekst.
Nie zapomnij, że możeszotrzymaj bezpłatną wersję próbną Aspose.PDF lub użyjlicencja tymczasowa dla pełnej funkcjonalności.
Importowanie niezbędnych pakietów
Aby rozpocząć pracę z Aspose.PDF dla .NET, musisz zaimportować wymagane przestrzenie nazw do swojego projektu. Te pakiety zapewniają niezbędne klasy i metody do obsługi dokumentów PDF.
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
Krok 1: Konfigurowanie katalogu dokumentów i ładowanie pliku PDF
Pierwszym krokiem jest określenie lokalizacji pliku PDF i załadowanie go do projektu. Możesz użyć lokalnej ścieżki katalogu do pliku PDF, z którym chcesz pracować.
// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Otwórz dokument PDF
Document pdfDocument = new Document(dataDir + "ExtractTextAll.pdf");
Ten krok zapewnia, że plik PDF jest prawidłowo załadowany i gotowy do pracy.Document
Klasa z biblioteki Aspose.PDF umożliwia manipulowanie plikiem PDF.
Krok 2: Zainicjuj Absorber Tekstu w celu Ekstrakcji
W tym kroku tworzymyTextAbsorber
Obiekt, który jest przeznaczony do wyodrębniania tekstu z dokumentu PDF.TextAbsorber
jest elastyczny i można go dostosować, aby skupić się na konkretnych regionach lub stronach.
// Utwórz obiekt TextAbsorber, aby wyodrębnić tekst
TextAbsorber absorber = new TextAbsorber();
TenTextAbsorber
Klasa jest potężnym narzędziem, które przechwytuje cały tekst mieszczący się w określonych granicach.
Krok 3: Zdefiniuj obszar, z którego chcesz wyodrębnić tekst
Tutaj dzieje się magia. Zamiast wyciągać tekst z całej strony, możemy ograniczyć ekstrakcję do określonego prostokątnego obszaru strony. Jest to idealne rozwiązanie, gdy dokładnie wiesz, gdzie znajduje się Twoja treść.
// Ogranicz wyodrębnianie tekstu do określonego regionu
absorber.TextSearchOptions.LimitToPageBounds = true;
absorber.TextSearchOptions.Rectangle = new Aspose.Pdf.Rectangle(100, 200, 250, 350);
TenRectangle
obiekt pozwala na zdefiniowanie współrzędnych (w punktach) obszaru, z którego zostanie wyodrębniony tekst.TextSearchOptions.LimitToPageBounds
zapewnia, że wyodrębniony zostanie tylko tekst znajdujący się w określonym prostokącie.
Krok 4: Akceptuj Absorber na żądanej stronie
Po skonfigurowaniu regionu następnym krokiem jest zaakceptowanieTextAbsorber
dla konkretnej strony, z której chcesz wyodrębnić tekst. Tutaj skupimy się na pierwszej stronie pliku PDF.
// Zaakceptuj absorber dla pierwszej strony
pdfDocument.Pages[1].Accept(absorber);
Dzwoniąc doAccept
na stronie, polecamy Aspose.PDF uruchomić absorber i zebrać tekst ze zdefiniowanego regionu.
Krok 5: Pobierz i zapisz wyodrębniony tekst
Gdy absorber wykona swoje zadanie, nadszedł czas na zebranie wyodrębnionego tekstu i zapisanie go. Ten krok obejmuje pobranie tekstu i zapisanie go do.txt
plik.
// Pobierz wyodrębniony tekst
string extractedText = absorber.Text;
// Utwórz pisarza, aby zapisać wyodrębniony tekst
TextWriter tw = new StreamWriter(dataDir + "extracted-text.txt");
// Zapisz tekst do pliku
tw.WriteLine(extractedText);
// Zamknij strumień
tw.Close();
Tutaj,TextWriter
Klasa służy do zapisywania wyodrębnionego tekstu do pliku tekstowego. Zapewnia to, że wyodrębniona zawartość jest bezpiecznie przechowywana do późniejszego wykorzystania.
Wniosek
Wyodrębnianie tekstu z określonego obszaru w dokumencie PDF może być niezwykle przydatne, zwłaszcza w przypadku treści strukturalnych, takich jak formularze lub tabele. Używając Aspose.PDF dla .NET, możesz wykonać to zadanie za pomocą zaledwie kilku linii kodu. Definiując obszar, inicjującTextAbsorber
i zapisując wyodrębniony tekst, masz pełną kontrolę nad tym, co zostanie wyodrębnione z Twojego pliku PDF.
Niezależnie od tego, czy pracujesz nad małym projektem, czy zarządzasz dużymi dokumentami, ta metoda pozwala efektywnie wyodrębnić istotne dane z plików PDF bez konieczności przeglądania całego dokumentu.
Najczęściej zadawane pytania
Czy mogę wyodrębnić tekst z wielu stron jednocześnie?
Tak, poprzez iteracjęPages
kolekcjapdfDocument
, możesz zastosowaćTextAbsorber
do wielu stron.
A co jeśli tekst znajduje się w innym obszarze pliku PDF?
Możesz łatwo dostosowaćRectangle
współrzędne odpowiadające regionowi, w którym znajduje się Twój tekst.
Czy działa to w przypadku zeskanowanych plików PDF?
Nie, zeskanowane pliki PDF wymagają OCR (Optical Character Recognition), aby przekonwertować obrazy na tekst. Aspose.PDF oferuje również funkcje OCR.
Czy istnieje sposób na wyodrębnienie tekstu na podstawie określonych słów kluczowych?
Tak, możesz użyćTextFragmentAbsorber
do ekstrakcji tekstu na podstawie słów kluczowych.
Jak wyodrębnić tekst z zaszyfrowanego pliku PDF?
Najpierw musisz odszyfrować plik PDF, podając prawidłowe hasło, a następnie przystąpić do wyodrębniania tekstu.