Plik PDF zazwyczaj składa się z tekstu, obrazu, nagłówka, adnotacji i innych elementów. A ponieważ ten format zachowuje układ dokumentu na różnych platformach (komputer stacjonarny/mobilny itp.), dlatego jest szeroko stosowany do udostępniania informacji przez Internet. Możemy jednak mieć wymóg wyodrębnienia zawartości tekstowej dokumentu PDF w celu dalszego przetwarzania. Dlatego w tym artykule omówimy szczegóły, jak wyodrębnić tekst z pliku PDF za pomocą Java Cloud SDK. Po zakończeniu operacji dane wyjściowe są zapisywane w formacie TXT.
- Interfejs API konwersji plików PDF na TXT
- PDF na tekst w Javie
- Wyodrębnij tekst z pliku PDF za pomocą poleceń cURL
Interfejs API konwersji plików PDF na TXT
Aspose.PDF Cloud SDK for Java to nasze wielokrotnie nagradzane rozwiązanie REST API oferujące możliwości tworzenia, edytowania i konwertowania plików PDF na JPG, XPS, HTML, DOCX i wiele innych obsługiwanych formatów. Teraz, aby zaimplementować możliwości rozpoznawania tekstu pdf w aplikacji Java, dodaj następujące szczegóły w pom.xml projektu typu maven build.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf-cloud</artifactId>
<version>21.11.0</version>
</dependency>
</dependencies>
Kolejnym ważnym krokiem po instalacji SDK jest utworzenie darmowego konta w Aspose Cloud. Zaloguj się przy użyciu nowo utworzonego konta i wyszukaj/utwórz identyfikator klienta oraz klucz tajny klienta w Cloud Dashboard. Te szczegóły są wymagane w kolejnych sekcjach.
PDF na tekst w Javie
Wykonaj czynności podane poniżej, aby przeprowadzić konwersję plików PDF na tekst przy użyciu pakietu Java Cloud SDK. Tak więc po udanej konwersji wynikowy plik TXT jest zapisywany w chmurze.
- Najpierw musimy utworzyć obiekt PdfApi, podając ClientID i Client secret jako argumenty
- Po drugie, załaduj wejściowy plik PDF za pomocą instancji File
- Prześlij wejściowy plik PDF do magazynu w chmurze za pomocą metody uploadFile(…).
- Utwórz zmienną typu Integer określającą numer strony PDF do wyodrębnienia tekstu i podwójne instancje wskazujące prostokątny region strony, z którego musimy wyodrębnić zawartość tekstową
- Na koniec wywołaj metodę getPageText(…), aby pobrać zawartość tekstową z wejściowego pliku PDF
try
{
// Uzyskaj ClientID i ClientSecret z https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// utwórz instancję PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// nazwa wejściowego dokumentu PDF
String inputFile = "marketing.pdf";
// przeczytaj zawartość wejściowego pliku PDF
File file = new File("//Users//"+inputFile);
// przesłać plik PDF do magazynu w chmurze
pdfApi.uploadFile("input.pdf", file, null);
// określoną stronę pliku PDF do konwersji
int pageNumber =1;
// Współrzędna X dolnego - lewego rogu
Double LLX = 0.0;
// Y - współrzędna lewego dolnego rogu.
Double LLY = 0.0;
// X - współrzędna prawego górnego rogu.
Double URX = 800.0;
// Y - współrzędna prawego górnego rogu.
Double URY = 800.0;
// wywołaj API, aby przekonwertować plik PDF na tekst
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// wynikowa instancja pliku TXT
FileWriter myWriter = new FileWriter("filename.txt");
// Teraz przejdź przez poszczególne wystąpienia tekstu, aby uzyskać wynik drukowania w konsoli
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// zapisz treść tekstową do pliku TXT
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// zamknij obsługę TXT
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
Przykładowy plik PDF użyty w powyższym przykładzie można pobrać z marketing.pdf i extracted.txt
Wyodrębnij tekst z pliku PDF za pomocą poleceń cURL
Dostęp do interfejsów API REST można łatwo uzyskać za pomocą poleceń cURL, dlatego w tej sekcji zbadamy opcję, w jaki sposób możemy wyodrębnić zawartość tekstową z pliku PDF za pomocą poleceń cURL. Tak więc jako warunek wstępny musimy najpierw wygenerować token dostępu JWT (na podstawie poświadczeń klienta) podczas wykonywania następującego polecenia.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
Gdy mamy token JWT, musimy wykonać następujące polecenie, aby wyodrębnić wszystkie wystąpienia tekstu w dokumencie PDF.
curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Wniosek
W tym artykule wyjaśniono szczegółowe informacje na temat konwertowania plików PDF na TXT przy użyciu pakietu Java Cloud SDK. Jednocześnie zbadaliśmy również opcje wyodrębniania tekstu z pliku PDF za pomocą poleceń cURL. Dzięki elastyczności przechodzenia między wieloma stronami PDF mamy kontrolę nad tym, gdzie wyodrębnić zawartość. Zdecydowanie zalecamy zapoznanie się z produktem Dokumentacja, aby dowiedzieć się więcej o innych ekscytujących funkcjach oferowanych przez Java Cloud API. Ponadto, ponieważ wszystkie nasze Cloud SDK są publikowane na licencji MIT, możesz rozważyć pobranie pełnego kodu źródłowego z GitHub i zmodyfikowanie go zgodnie z własnymi wymaganiami. W przypadku jakichkolwiek problemów możesz rozważyć skontaktowanie się z nami w celu szybkiego rozwiązania za pośrednictwem bezpłatnego forum wsparcia produktu.
Powiązane artykuły
Odwiedź poniższe linki, aby dowiedzieć się więcej o: