estrarre il testo dal PDF

Estrai testo da PDF in Java

Sappiamo tutti che i file PDF sono uno dei formati digitali più importanti e ampiamente utilizzati per presentare e scambiare documenti in modo affidabile, indipendentemente da software, hardware o sistema operativo. Tuttavia, in alcuni scenari, potremmo essere interessati a ottenere un estratto da file PDF di grandi dimensioni. Oppure, potremmo avere l’obbligo di salvare il PDF in testo online. Quindi, in questo articolo, esploreremo i dettagli su come sviluppare un convertitore da PDF a testo utilizzando l’API REST di Java.

API del generatore di PDF

Ottieni la leva per generare documenti PDF utilizzando modelli o da zero utilizzando la nostra API REST. Allo stesso tempo, l’API consente anche di modificare e trasformare i file PDF in altri formati supportati. Puoi anche sfruttare i vantaggi dell’estrazione di testo da PDF, decrittografare e unire file PDF utilizzando Java Cloud SDK. Ora, per poter utilizzare Aspose.PDF Cloud SDK for Java, dobbiamo aggiungere il suo riferimento nella nostra applicazione Java includendo i seguenti dettagli in pom.xml (maven build type project).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-cloud-pdf</artifactId>
        <version>21.11.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

Dopo l’installazione, dobbiamo creare un account gratuito su Cloud Dashboard e ottenere credenziali client personalizzate.

Estrai testo da PDF utilizzando Java

Esploriamo i dettagli per estrarre il testo dal PDF utilizzando Java cloud SDK. In questo esempio, utilizzeremo il seguente input PdfWithTable.pdf file.

pdf in testo ocr

Immagine 1: - File di input per l’estrazione da PDF a testo.

pdf in testo ocr

Immagine 2: - Estrai il testo dall’anteprima del PDF

// per ulteriori esempi, visitare https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples

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 name = "PdfWithTable.pdf";
		        
    // leggere il contenuto del file PDF di input
    File file = new File(name); 
    // caricare PDF su cloud storage
    pdfApi.uploadFile("input.pdf", file, null);
		        
    // Coordinata X dell'angolo in basso a sinistra
    Double LLX = 500.0;
    // Y - coordinata dell'angolo in basso a sinistra.
    Double LLY = 500.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.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    
		    
    // Attraversa le singole occorrenze di testo
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // scrivere contenuto di testo nella console
        System.out.println(response.getTextOccurrences().getList().get(counter).getText());
    }
		  
    System.out.println("Extract Text from PDF successful !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

Ora proviamo a capire lo snippet di codice sopra specificato:

PdfApi pdfApi = new PdfApi(clientSecret,clientId);

Crea un’istanza di PdfApi passando le credenziali personalizzate come argomenti.

File file = new File(name); 
pdfApi.uploadFile("input.pdf", file, null);

Leggere il PDF di input utilizzando l’oggetto File e caricarlo nell’archivio cloud utilizzando il metodo uploadFile(…) della classe PdfAPi. Tieni presente che il file viene caricato con il nome utilizzato nel metodo uploadFile.

TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    

Ora chiamiamo il metodo getText(..) dove specifichiamo il nome del file PDF di input, le dimensioni rettangolari sulla pagina da cui dobbiamo estrarre il contenuto testuale e restituiamo il contenuto estratto all’oggetto TextRectsResponse.

response.getTextOccurrences().getList().get(counter).getText()

Infine, per stampare il contenuto di testo estratto, eseguiremo l’iterazione di tutte le TextOccurances e le visualizzeremo nella console.

Da PDF a testo utilizzando i comandi cURL

Oltre allo snippet di codice Java, possiamo anche eseguire operazioni pdftotext utilizzando i comandi cURL. Ora, uno dei prerequisiti per questo approccio è generare un token di accesso JWT (basato sulle credenziali del client) utilizzando il 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 generato il JWT, esegui il seguente comando per estrarre il testo dal file PDF già disponibile nel cloud storage.

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>"

Suggerimento veloce

Alla ricerca di un’app gratuita da PDF a testo! Prova a utilizzare il nostro PDF Parser.

Osservazioni conclusive

In conclusione, l’estrazione di testo da file PDF utilizzando Java può essere una soluzione potente per coloro che desiderano automatizzare le proprie esigenze di elaborazione e analisi dei dati. Con l’aiuto di questa guida, ora hai una solida base su cui costruire e puoi facilmente implementare la tua soluzione basata su Java per l’estrazione di testo dai documenti PDF. Che tu stia cercando di estrarre testo per l’analisi dei dati, l’apprendimento automatico o qualsiasi altro scopo, Java fornisce una piattaforma flessibile e affidabile per le tue esigenze. Quindi vai avanti e metti alla prova le tue abilità appena acquisite!

Se sei interessato a esplorare altre entusiasmanti funzionalità offerte dall’API, consulta la Documentazione del prodotto. Infine, se riscontri problemi durante l’utilizzo dell’API o se hai domande correlate, non esitare a contattarci tramite il Forum di supporto del prodotto gratuito.

articoli Correlati

Si prega di visitare i seguenti link per saperne di più su: