W tym poście dowiesz się, jak bezproblemowo wyodrębnić tekst z plików PDF za pomocą Javy. Wyodrębnianie tekstu może być przydatne w różnych scenariuszach, takich jak analiza tekstu, pobieranie informacji, analizowanie dokumentów i tak dalej. Ponieważ PDF jest jednym z najczęściej używanych dokumentów cyfrowych, przypadków użycia ekstrakcji tekstu z dokumentów PDF jest więcej. Zacznijmy więc i sprawdźmy, jak przeprowadzić ekstrakcję tekstu PDF z poziomu aplikacji Java.
- Interfejs API wyodrębniania tekstu w języku Java — bezpłatne pobieranie
- Wyodrębnij tekst z pliku PDF przy użyciu języka Java
- Wyodrębnij tekst z określonej strony w formacie PDF
- Ekstrakcja tekstu z regionu strony w formacie PDF
Java API do wyodrębniania tekstu z pliku PDF — bezpłatne pobieranie
Aspose.PDF for Java to dobrze znany interfejs API do manipulacji plikami PDF, który zapewnia szeroki zakres funkcji do tworzenia i przetwarzania plików PDF. Interfejs API zawiera potężny ekstraktor tekstu, który zapewnia różne sposoby wyodrębniania tekstu z dokumentów PDF w ciągu kilku wierszy kodu. Możesz pobrać plik JAR API lub zainstalować go w swoich aplikacjach opartych na Maven, korzystając z poniższych konfiguracji.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>20.11</version>
</dependency>
Wyodrębnij tekst z pliku PDF przy użyciu języka Java
Poniżej przedstawiono kroki, aby wyodrębnić tekst z dokumentu PDF przy użyciu Aspose.PDF dla języka Java.
- Użyj klasy Document, aby załadować plik PDF.
- Utwórz obiekt klasy TextAbsorber.
- Zaakceptuj TextAbsorber dla wszystkich stron pliku PDF za pomocą metody Document.getPages().accept(TextAbsorber).
- Użyj metody TextAbsorber.getText(), aby pobrać cały tekst z pliku PDF.
- Zapisz tekst w pliku TXT (opcjonalnie).
Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z pliku PDF przy użyciu języka Java.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Otwórz dokument
Document pdfDocument = new Document("input.pdf");
// Utwórz obiekt TextAbsorber, aby wyodrębnić tekst
TextAbsorber textAbsorber = new TextAbsorber();
// Zaakceptuj pochłaniacz dla wszystkich stron
pdfDocument.getPages().accept(textAbsorber);
// Pobierz wyodrębniony tekst
String extractedText = textAbsorber.getText();
// Utwórz program piszący i otwórz plik
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);
// Napisz linię tekstu do pliku tw.WriteLine(extractedText);
// Zamknij strumień
writer.close();
Wyodrębnij tekst z określonej strony w formacie PDF
Możesz także wyodrębnić tekst z określonej strony dokumentu PDF, wykonując następujące czynności.
- Użyj klasy Document, aby załadować plik PDF.
- Utwórz instancję klasy TextDevice.
- Zdefiniuj dodatkowe opcje za pomocą klasy TextExtractionOptions.
- Ustaw opcje za pomocą metody TextDevice.setExtractionOptions(TextExtractionOptions).
- Użyj TextDevice.Process(Page, String), aby wyodrębnić tekst z określonej strony.
Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z określonej strony w formacie PDF przy użyciu języka Java.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// otwórz dokument
Document pdfDocument = new Document("input.pdf");
// utwórz urządzenie tekstowe
TextDevice textDevice = new TextDevice();
// ustaw opcje ekstrakcji tekstu - ustaw tryb ekstrakcji tekstu (Raw lub Pure)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
textDevice.setExtractionOptions(textExtOptions);
// pobierz tekst z pierwszej strony pliku PDF i zapisz go w formacie pliku
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");
Wyodrębnij tekst z obszaru strony w formacie PDF
Możesz także wyodrębnić tekst z określonego regionu strony w formacie PDF. W tym celu możesz zdefiniować prostokąt obejmujący obszar, z którego chcesz wyodrębnić tekst. Poniżej przedstawiono kroki, aby wyodrębnić tekst z regionu strony.
- Użyj klasy Document, aby załadować plik PDF.
- Utwórz obiekt klasy TextAbsorber.
- Ustaw limit strony i utwórz prostokąt za pomocą TextAbsorber.getTextSearchOptions().setLimitToPageBounds(true) i TextAbsorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350)) metody odpowiednio.
- Zaakceptuj pochłaniacz dla danej strony.
- Użyj metody TextAbsorber.getText(), aby wyodrębnić tekst.
Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z określonego regionu strony w Javie.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// otwórz dokument
Document doc = new Document("page_0001.pdf");
// utwórz obiekt TextAbsorber, aby wyodrębnić tekst
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// zaakceptuj absorber na pierwszą stronę
doc.getPages().get_Item(1).accept(absorber);
// uzyskać wyodrębniony tekst
String extractedText = absorber.getText();
// utwórz program piszący i otwórz plik
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// napisz wyodrębnioną zawartość
writer.write(extractedText);
// Bliski pisarz
writer.close();
Wniosek
W tym artykule nauczyłeś się, jak wyodrębnić tekst z pliku PDF za pomocą języka Java. Widziałeś różne sposoby wyodrębniania tekstu, takie jak wyodrębnianie tekstu z całego pliku PDF, określonej strony lub określonego obszaru strony. Możesz dowiedzieć się więcej o Java PDF API, korzystając z documentation.
Zobacz też
Informacja: Firma Aspose niedawno opracowała bezpłatną usługę online Text to GIF, która umożliwia animowanie tekstów lub generowanie GIF-ów z prostych tekstów.