Eine PDF-Datei besteht normalerweise aus Text, Bild, Überschrift, Anmerkungen und anderen Elementen. Und da dieses Format das Dokumentlayout plattformübergreifend (Desktop/Mobil usw.) beibehält, wird es häufig zum Austausch von Informationen über das Internet verwendet. Möglicherweise müssen wir jedoch den Textinhalt eines PDF-Dokuments zur weiteren Verarbeitung extrahieren. In diesem Artikel besprechen wir die Details zum Extrahieren von Text aus PDF mit dem Java Cloud SDK. Sobald der Vorgang abgeschlossen ist, wird die Ausgabe im Format TXT gespeichert.
PDF-zu-TXT-Konvertierungs-API
Aspose.PDF Cloud SDK für Java ist unsere preisgekrönte REST-API-Lösung, die die Funktionen zum Erstellen, Bearbeiten und Konvertieren von PDF in JPG, XPS, HTML, DOCX und verschiedene andere unterstützte Formate bietet. Um nun die PDF-Texterkennungsfunktionen in einer Java-Anwendung zu implementieren, fügen Sie bitte die folgenden Details in pom.xml des Maven-Build-Typ-Projekts hinzu.
<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>
Nach der SDK-Installation ist der nächste wichtige Schritt die Erstellung eines kostenlosen Kontos über Aspose Cloud. Melden Sie sich daher bitte mit dem neu erstellten Konto an und suchen/erstellen Sie die Client-ID und das Client-Geheimnis unter Cloud Dashboard. Diese Angaben werden in den folgenden Abschnitten benötigt.
PDF zu Text in Java
Bitte befolgen Sie die unten aufgeführten Schritte, um die PDF-zu-Text-Konvertierung mit dem Java Cloud SDK durchzuführen. Nach erfolgreicher Konvertierung wird die resultierende TXT-Datei im Cloud-Speicher gespeichert.
- Zuerst müssen wir ein PdfApi-Objekt erstellen und dabei ClientID und Client Secret als Argumente angeben
- Zweitens laden Sie die Eingabe-PDF-Datei mithilfe der Dateiinstanz
- Laden Sie das Eingabe-PDF mit der Methode uploadFile(…) in den Cloud-Speicher hoch
- Erstellen Sie eine Integer-Variable, die die Seitenzahl der PDF-Datei für die Textextraktion angibt, und Double-Instanzen, die den rechteckigen Bereich der Seite angeben, aus dem wir den Textinhalt extrahieren müssen
- Rufen Sie abschließend die Methode getPageText(…) auf, um Textinhalte aus der Eingabe-PDF abzurufen
try
{
// Holen Sie sich ClientID und ClientSecret von https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// Erstellen Sie eine Instanz von PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// Name des Eingabe-PDF-Dokuments
String inputFile = "marketing.pdf";
// Lesen Sie den Inhalt der eingegebenen PDF-Datei
File file = new File("//Users//"+inputFile);
// Laden Sie PDF in den Cloud-Speicher hoch
pdfApi.uploadFile("input.pdf", file, null);
// eine bestimmte PDF-Seite zur Konvertierung
int pageNumber =1;
// X-Koordinate der unteren linken Ecke
Double LLX = 0.0;
// Y – Koordinate der unteren linken Ecke.
Double LLY = 0.0;
// X – Koordinate der oberen rechten Ecke.
Double URX = 800.0;
// Y – Koordinate der oberen rechten Ecke.
Double URY = 800.0;
// Rufen Sie die API auf, um PDF in Text zu konvertieren
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// resultierende TXT-Dateiinstanz
FileWriter myWriter = new FileWriter("filename.txt");
// Durchlaufen Sie nun die einzelnen Textvorkommen und erhalten Sie das Druckergebnis in der Konsole
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// Schreiben Sie Textinhalte in eine TXT-Datei
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// Schließen Sie den TXT-Handler
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
Die im obigen Beispiel verwendete Beispiel-PDF-Datei kann von marketing.pdf und extracted.txt heruntergeladen werden.
Extrahieren Sie Text aus PDF mit cURL-Befehlen
Auf die REST-APIs kann einfach über cURL-Befehle zugegriffen werden. In diesem Abschnitt werden wir daher die Möglichkeit untersuchen, wie wir mithilfe von cURL-Befehlen Textinhalte aus PDF extrahieren können. Als Voraussetzung müssen wir also zunächst ein JWT-Zugriffstoken (basierend auf den Client-Anmeldeinformationen) generieren, während wir den folgenden Befehl ausführen.
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"
Sobald wir das JWT-Token haben, müssen wir den folgenden Befehl ausführen, um alle Textvorkommen im PDF-Dokument zu extrahieren.
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>"
Abschluss
In diesem Artikel wurden die Details zum Konvertieren von PDF in TXT mit dem Java Cloud SDK erläutert. Gleichzeitig haben wir auch die Optionen zum Extrahieren von Text aus PDF mithilfe von cURL-Befehlen untersucht. Dank der Flexibilität, zwischen mehreren PDF-Seiten zu wechseln, haben wir die Kontrolle darüber, wo der Inhalt extrahiert werden soll. Wir empfehlen Ihnen dringend, die Dokumentation des Produkts zu erkunden, um mehr über die anderen spannenden Funktionen zu erfahren, die die Java Cloud API bietet. Da alle unsere Cloud SDKs unter MIT-Lizenz veröffentlicht werden, können Sie darüber hinaus den vollständigen Quellcode von GitHub herunterladen und ihn entsprechend Ihren Anforderungen ändern. Bei Problemen können Sie sich für eine schnelle Lösung über das kostenlose Produkt-Support-Forum an uns wenden.
In Verbindung stehende Artikel
Bitte besuchen Sie die folgenden Links, um mehr darüber zu erfahren: