Un file PDF è generalmente composto da testo, immagine, intestazione, annotazioni e altri elementi. E poiché questo formato preserva il layout del documento su tutte le piattaforme (desktop/mobile ecc.), è ampiamente utilizzato per condividere informazioni su Internet. Tuttavia, potremmo avere l’obbligo di estrarre il contenuto testuale del documento PDF per un’ulteriore elaborazione. Quindi, in questo articolo, discuteremo i dettagli su come estrarre testo da PDF utilizzando Java Cloud SDK. Una volta completata l’operazione, l’output viene salvato in formato TXT.
- API di conversione da PDF a TXT
- Da PDF a testo in Java
- Estrai testo da PDF utilizzando i comandi cURL
API di conversione da PDF a TXT
Aspose.PDF Cloud SDK for Java è la nostra pluripremiata soluzione API REST che offre le funzionalità per creare, modificare e convertire PDF in JPG, XPS, HTML, DOCX e una varietà di altri formati supportati. Ora, per implementare le funzionalità di riconoscimento del testo pdf nell’applicazione Java, aggiungere i seguenti dettagli in pom.xml del progetto di tipo build maven.
<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>
Dopo l’installazione dell’SDK, il prossimo passo importante è la creazione di un account gratuito su Aspose Cloud. Quindi, accedi utilizzando l’account appena creato e cerca/crea l’ID client e il segreto client su Cloud Dashboard. Questi dettagli sono richiesti nelle sezioni successive.
Da PDF a testo in Java
Si prega di seguire i passaggi indicati di seguito per eseguire la conversione da PDF a testo utilizzando Java Cloud SDK. Quindi, dopo una conversione riuscita, il file TXT risultante viene salvato nel cloud storage.
- Per prima cosa dobbiamo creare un oggetto PdfApi fornendo ClientID e Client secret come argomenti
- In secondo luogo, caricare il file PDF di input utilizzando Istanza file
- Carica il PDF di input nell’archivio cloud utilizzando il metodo uploadFile(…).
- Crea una variabile Integer che specifica il numero di pagina del PDF per l’estrazione del testo e le istanze Double che indicano l’area rettangolare della pagina da cui dobbiamo estrarre il contenuto testuale
- Infine chiama il metodo getPageText(…) per recuperare il contenuto testuale dal PDF di input
try
{
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
// creare un'istanza di PdfApi
PdfApi pdfApi = new PdfApi(clientSecret,clientId);
// nome del documento PDF di input
String inputFile = "marketing.pdf";
// leggere il contenuto del file PDF di input
File file = new File("//Users//"+inputFile);
// caricare PDF su cloud storage
pdfApi.uploadFile("input.pdf", file, null);
// pagina specifica del PDF per la conversione
int pageNumber =1;
// Coordinata X dell'angolo in basso a sinistra
Double LLX = 0.0;
// Y - coordinata dell'angolo in basso a sinistra.
Double LLY = 0.0;
// X - coordinata dell'angolo in alto a destra.
Double URX = 800.0;
// Y - coordinata dell'angolo in alto a destra.
Double URY = 800.0;
// chiama l'API per convertire PDF in testo
TextRectsResponse response = pdfApi.getPageText(inputFile, pageNumber, LLX, LLY, URX, URY, null, null, true, null, "default");
// istanza di file TXT risultante
FileWriter myWriter = new FileWriter("filename.txt");
// Ora attraversa le singole occorrenze di testo per ottenere il risultato di stampa nella console
for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
{
// scrivere il contenuto del testo nel file TXT
myWriter.write(response.getTextOccurrences().getList().get(counter).getText());
}
// chiudere il gestore TXT
myWriter.close();
System.out.println("Text successfully extracted from PDF !");
}catch(Exception ex)
{
System.out.println(ex);
}
Il file PDF di esempio utilizzato nell’esempio precedente può essere scaricato da marketing.pdf e extracted.txt
Estrai testo da PDF utilizzando i comandi cURL
È possibile accedere facilmente alle API REST tramite i comandi cURL, quindi in questa sezione esploreremo l’opzione su come estrarre il contenuto testuale dal PDF utilizzando i comandi cURL. Pertanto, come prerequisito, dobbiamo prima generare un token di accesso JWT (basato sulle credenziali del client) durante l’esecuzione del seguente comando.
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"
Una volta che abbiamo il token JWT, dobbiamo eseguire il seguente comando per estrarre tutte le occorrenze di testo all’interno del documento 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>"
Conclusione
Questo articolo ha spiegato i dettagli su come convertire PDF in TXT utilizzando Java Cloud SDK. Allo stesso tempo, abbiamo anche esplorato le opzioni per estrarre il testo dal PDF utilizzando i comandi cURL. Quindi, con la flessibilità di attraversare più pagine PDF, otteniamo il controllo su dove estrarre il contenuto. Ti consigliamo vivamente di esplorare il prodotto Documentazione per saperne di più sulle altre interessanti funzionalità offerte da Java Cloud API. Inoltre, poiché tutti i nostri Cloud SDK sono pubblicati con licenza MIT, puoi considerare di scaricare il codice sorgente completo da GitHub e modificarlo in base alle tue esigenze. In caso di problemi, puoi considerare di contattarci per una rapida risoluzione tramite il forum di supporto del prodotto gratuito.
articoli Correlati
Si prega di visitare i seguenti link per saperne di più su: