>> Elettronica Tecnologia >  >> Casa intelligente >> Vita intelligente

Come leggere file PDF in Java

Non è difficile leggere i file PDF in Java utilizzando librerie prontamente disponibili. La lettura di file PDF consente di scrivere programmi Java in grado di elaborare il testo in quei file. Un'opzione per leggere i file PDF è la libreria PDFBox gratuita e open source disponibile da Apache. La piattaforma di sviluppo Eclipse Java semplifica questo lavoro e gestisce le librerie che scaricherai. È necessario avere familiarità con la programmazione Java per utilizzare queste librerie Java.

Raccogli le biblioteche necessarie

Passaggio 1

Scarica Java JDK dal sito Web di Sun. Questo è un file eseguibile che puoi installare sul tuo sistema eseguendolo. Sono disponibili versioni per Windows, Mac e Linux. Fare clic sul pulsante rosso "Download". Salva un file chiamato "jdk-6uxx-windows-xxx.exe" quando richiesto. Salva questo file e fai doppio clic su di esso per avviare il programma di installazione di Java.

Passaggio 2

Scarica il sistema di sviluppo Eclipse e decomprimilo in una directory di primo livello. Seleziona "Eclipse IDE per sviluppatori Java". Questo avvierà il download di "eclipse-java-galileo-SR2-win32.zip." Fare doppio clic sul file per decomprimerlo al termine del download. Seleziona la posizione della directory principale "C:" per decomprimere Eclipse.

Passaggio 3

Avvia Eclipse facendo doppio clic su "eclipse.exe" nella directory appena creata decomprimendo il file zip di eclipse. Nel sistema Eclipse, crea un progetto chiamato "PrintPdf". Seleziona "File", quindi "Nuovo", quindi "Progetto Java". Digita il nome del progetto "PrintPdf" nella finestra di dialogo che appare. Assicurati che sia selezionato il pulsante di opzione "Crea cartelle separate per i file di origine e di classe". Fai clic su "Fine".

Passaggio 4

Crea una cartella "lib" nel tuo progetto "PrintPdf". Fare clic con il tasto destro del mouse sul progetto "PrintPdf" e selezionare "Nuovo" e quindi "Cartella". Inserisci il nome "lib" e fai clic su "Fine".

Passaggio 5

Scarica Apache "PDFBox.jar" dal sito di Apache e copialo nella directory lib appena creata. Nella stessa pagina web, scarica il file "fontbox-nn.jar" e il file "jempbox-nn.jar". In ogni caso, quando fai clic su quel file jar, verrai indirizzato a una pagina in cui puoi selezionare uno dei numerosi server che possono fornire questo file. Scegli ciascuno di essi e ogni file jar verrà scaricato. Copia ogni file jar nella directory lib che hai appena creato.

Passaggio 6

Scarica il pacchetto Apache log4j.jar allo stesso modo e copia il file log4j.jar nella directory. La libreria Apache PDFBox utilizza questa libreria di registrazione Apache, quindi questo file deve essere presente.

Passaggio 7

Scarica il pacchetto Apache Commons Discovery come file zip. Fare doppio clic sul file zip, selezionare "commons-discovery-nn.jar" ed estrarlo nella directory lib.

Passaggio 8

In Eclipse, fai clic sulla directory "lib" e premi "F5". Assicurati che tutti i file jar che hai aggiunto siano visualizzati.

Passaggio 9

Fare clic con il pulsante destro del mouse sul progetto PrintPDF e selezionare "Proprietà". Seleziona "Java Build Path" e seleziona la scheda "Librerie". Fai clic su "Aggiungi jars" e vai alla directory lib che hai appena creato e aggiungi "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar ," e "pdfbox-nn.jar." Fare clic su "OK".

Scrivi il codice per leggere i PDF

Passaggio 1

Fare clic con il tasto destro del mouse sulla cartella "src" del progetto "PrintPDF" e selezionare "Nuovo" e il "Pacchetto". Crea un pacchetto usando qualsiasi nome significativo. Ad esempio, denominare il pacchetto "com.pdf.util". Fai clic su "Fine".

Passaggio 2

Fare clic con il pulsante destro del mouse sul nome del pacchetto appena creato e selezionare "Nuovo" e quindi "Classe". Crea una classe denominata "PDFTextParser". Assicurati di fare clic sulla casella di controllo contrassegnata "public static void main..." in modo che il sistema crei un metodo "main".

Passaggio 3

Modifica il metodo "main" nella classe "PDFTextParser" per contenere il codice seguente:

public static void main(String args[]){ PDFTextParser pdf =new PDFTextParser("data/javaPDF.pdf") VAI //stampa i risultati System.out.println(pdf.getParsedText()) VAI }

Nota che il file che desideri stampare è esplicitato nel costruttore in PDFTextParser ("data/JavaPDF.pdf"). Potrebbe essere altrettanto facilmente un argomento della riga di comando:

PDFTextParser pdf = new PDFTextParser(argv[0])

VAI

o selezionato da un'interfaccia GUI.

Crea un'istanza della classe PDFTextParser, quindi chiama il suo metodo "getParsedText".

Passaggio 4

Inserisci il codice seguente appena sotto la riga di prima classe "public class PDFTextParser" che è stata creata per te.

parser PDFParser privato =null GO

// Extract text from PDF Document
public PDFTextParser(String fileName) {
 File file = new File(fileName)

GO if (!file.isFile()) { System.err.println("File " + fileName + " non esiste.") GO } //Imposta l'istanza del parser PDF try { parser =new PDFParser(new FileInputStream( file)) GO } catch (IOException e) { System.err.println("Impossibile aprire il parser PDF. " + e.getMessage()) GO } } //------------- ------------------ public String getParsedText() { PDDocument pdDoc =null GO COSDocument cosDoc =null;
Stringa parsedText =null; VAI

try { 
 PDFTextStripper pdfStripper = new PDFTextStripper()

GO parser.parse() GO cosDoc =parser.getDocument() GO pdDoc =nuovo PDDocument(cosDoc) GO

//get list of all pages
 List<PDPage> list = pdDoc.getDocumentCatalog().getAllPages()

VAI

//note that you can print out any pages you want
 //by choosing different values of the start and end page
 pdfStripper.setStartPage(1); //1-based
 int length = list.size(); //total number of pages
 pdfStripper.setEndPage(length); //last page

 //get the text for the pages selected
 parsedText = pdfStripper.getText(pdDoc)

GO } catch (IOException e) { System.err .println("Si è verificata un'eccezione durante l'analisi del documento PDF." + e.getMessage()) GO } infine { try { if (cosDoc !=null) cosDoc.close() GO if (pdDoc !=null) pdDoc.close() GO } catch (IOException e) { e.printStackTrace() GO } }
restituisce parsedText GO }

Passaggio 5

Esegui il programma. Fare clic con il tasto destro sulla classe PDFTextParser e fare clic su "Esegui come" e quindi su "Programma Java". Il programma dovrebbe eseguire e stampare il contenuto del testo del file PDF che hai inserito nel codice.

Elimina il messaggio di errore di avvio di Log4j

Passaggio 1

Creare un file di configurazione per eliminare il messaggio di errore log4j del sistema di registrazione Java creato quando non riesce a trovare un file di configurazione all'avvio. Fare clic con il pulsante destro del mouse sulla cartella "src" del progetto PrintPDF e selezionare "Nuovo" e quindi "File". Assegna un nome al file "log4j.properties" Eclipse visualizzerà una schermata vuota per questo nuovo file.

Passaggio 2

Incolla le seguenti righe nella schermata vuota che rappresenta il file "log4j.properties".

Imposta il livello di root logger su DEBUG e il suo unico appender su A1. log4j.rootLogger=AVVISO, A1

A1 è impostato come ConsoleAppender. log4j.appender.A1=org.apache.log4j.ConsoleAppender

A1 usa PatternLayout. log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

Passaggio 3

Salva il file "log4j.properties". La presenza di questo file nella directory "src" di livello superiore eliminerà il messaggio di avvio di log4j e qualsiasi messaggio di registrazione banale. Il sistema log4j stamperà solo gli errori effettivi.

Suggerimento

Esistono anche numerosi pacchetti commerciali che puoi utilizzare per estrarre testo da file PDF, ma non sono economici.


  1. Come leggere un file PDF su un telefono cellulare
  2. Come leggere un AT & T File
  3. Come leggere un file PDF su un telefono cellulare
  4. Come leggere i file PDF su iPod
  5. Come installare un file jar
  6. Come leggere i file crittografati