In questo post imparerai come estrarre il testo dai file PDF senza problemi usando Java. L’estrazione del testo può essere utile in vari scenari come l’analisi del testo, il recupero di informazioni, l’analisi di documenti e così via. Poiché il PDF è uno dei documenti digitali più utilizzati, i casi d’uso dell’estrazione di testo dai documenti PDF sono più numerosi. Quindi iniziamo e controlliamo come eseguire l’estrazione di testo PDF dall’interno delle applicazioni Java.
- API di estrazione di testo Java - Download gratuito
- Estrai testo da PDF usando Java
- Estrai il testo da una pagina specifica in PDF
- Estrazione di testo da un’area di pagina in PDF
API Java per estrarre testo da PDF - Download gratuito
Aspose.PDF for Java è una nota API di manipolazione di file PDF che fornisce un’ampia gamma di funzionalità per creare ed elaborare file PDF. L’API contiene un potente estrattore di testo che fornisce vari modi per estrarre testo da documenti PDF in poche righe di codice. Puoi scaricare il JAR dell’API o installarlo all’interno delle tue applicazioni basate su Maven utilizzando le seguenti configurazioni.
<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>
Estrai testo da PDF usando Java
Di seguito sono riportati i passaggi per estrarre il testo da un documento PDF utilizzando Aspose.PDF per Java.
- Usa la classe Documento per caricare il file PDF.
- Crea un oggetto della classe TextAbsorber.
- Accetta TextAbsorber per tutte le pagine del PDF utilizzando il metodo Document.getPages().accept(TextAbsorber).
- Usa il metodo TextAbsorber.getText() per recuperare tutto il testo dal PDF.
- Salva il testo in un file TXT (opzionale).
L’esempio di codice seguente mostra come estrarre testo da PDF utilizzando Java.
// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// Apri documento
Document pdfDocument = new Document("input.pdf");
// Crea oggetto TextAbsorber per estrarre il testo
TextAbsorber textAbsorber = new TextAbsorber();
// Accetta l'assorbitore per tutte le pagine
pdfDocument.getPages().accept(textAbsorber);
// Ottieni il testo estratto
String extractedText = textAbsorber.getText();
// Crea uno scrittore e apri il file
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);
// Scrivi una riga di testo nel file tw.WriteLine(extractedText);
// Chiudi il flusso
writer.close();
Estrai il testo da una pagina specifica in PDF
Puoi anche estrarre il testo da una pagina specifica del documento PDF utilizzando i passaggi seguenti.
- Usa la classe Documento per caricare il file PDF.
- Crea un’istanza della classe TextDevice.
- Definisci opzioni aggiuntive usando la classe TextExtractionOptions.
- Impostare le opzioni utilizzando il metodo TextDevice.setExtractionOptions(TextExtractionOptions).
- Utilizzare TextDevice.Process(Page, String) per estrarre il testo dalla pagina specificata.
L’esempio di codice seguente mostra come estrarre il testo da una pagina specifica in PDF utilizzando Java.
// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// documento aperto
Document pdfDocument = new Document("input.pdf");
// creare dispositivo di testo
TextDevice textDevice = new TextDevice();
// imposta le opzioni di estrazione del testo - imposta la modalità di estrazione del testo (Raw o Pure)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
textDevice.setExtractionOptions(textExtOptions);
// ottenere il testo dalla prima pagina del PDF e salvarlo in formato file
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");
Estrai testo da un’area di pagina in PDF
Puoi anche estrarre il testo da una particolare regione della pagina in PDF. Per questo, puoi definire un rettangolo per coprire la regione da cui devi estrarre il testo. Di seguito sono riportati i passaggi per estrarre il testo da un’area della pagina.
- Usa la classe Document per caricare il file PDF.
- Crea un oggetto della classe TextAbsorber.
- Imposta il limite per la rilegatura della pagina e crea un rettangolo utilizzando TextAbsorber.getTextSearchOptions().setLimitToPageBounds(true) e TextAbsorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350)) metodi rispettivamente.
- Accetta l’assorbitore per la pagina particolare.
- Usa il metodo TextAbsorber.getText() per estrarre il testo.
L’esempio di codice seguente mostra come estrarre il testo da una determinata area della pagina in Java.
// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// documento aperto
Document doc = new Document("page_0001.pdf");
// crea un oggetto TextAbsorber per estrarre il testo
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// accetta l'assorbitore per la prima pagina
doc.getPages().get_Item(1).accept(absorber);
// ottenere il testo estratto
String extractedText = absorber.getText();
// creare uno scrittore e aprire il file
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// scrivere i contenuti estratti
writer.write(extractedText);
// Scrittore vicino
writer.close();
Conclusione
In questo articolo, hai imparato come estrarre testo da PDF usando Java. Hai visto vari modi di estrazione del testo come l’estrazione di testo da un intero PDF, una pagina specifica o un’area di pagina specifica. Puoi saperne di più sull’API Java PDF utilizzando la documentazione.
Guarda anche
Info: Aspose ha recentemente sviluppato un servizio online gratuito Text to GIF che consente di animare testi o generare GIF da testi semplici.