Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Hybrid View

  1. #1

    Lettura pdf tramite pdfbox

    Salve a tutti, sto cercando di leggere un file pdf usando la libreria di pdfbox, ho aggiunto al mio progetto il file jar: pdfbox-1.6.0.jar
    Il codice del mio progetto è il seguente:

    codice:
    public void readerPdf(Book[] b, int selectedRow) {
    		File PDF_Path = new File(b[table.getSelectedRow()].Percorso);
    		PDDocument inputPDF = null;
    		try {
    			inputPDF = PDDocument.load(PDF_Path);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		List<PDPage> allPages = inputPDF.getDocumentCatalog().getAllPages();
    		
    		PDPage testPage = (PDPage)allPages.get(0);
    		JFrame testFrame = new JFrame();
    		testFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		PDFPagePanel pdfPanel;
    		try {
    			pdfPanel = new PDFPagePanel();
    			pdfPanel.setPage(testPage);
    			testFrame.add(pdfPanel);
    			testFrame.setBounds(40, 40, pdfPanel.getWidth(), pdfPanel.getHeight());
    			testFrame.setVisible(true);
    			inputPDF.close();
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    b[table.getSelectedRow()].Percorso = percorso del pdf da aprire
    Non ho errori in compilazione, ma in esecuzione mi da questo tipo di errore:

    "Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.apache.pdfbox.pdfparser.BaseParser.<clinit>(Ba seParser.java:58)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocume nt.java:1068)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocume nt.java:1036)
    at org.apache.pdfbox.pdmodel.PDDocument.load(PDDocume nt.java:1007)
    at BookReader.readerPdf(BookReader.java:102)
    at lettura_Panel$1.mouseClicked(lettura_Panel.java:57 )"


    Aiutooooo

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    Salve a tutti, sto cercando di leggere un file pdf usando la libreria di pdfbox, ho aggiunto al mio progetto il file jar: pdfbox-1.6.0.jar

    "Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    Devi anche considerare le questioni sul logging, dal momento che PDFBox richiede la commons-logging.
    Vedi Apache PDFBox | Dependencies
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Eh esatto..non ho capito bene il discorso della commons-loggins, riusciresti a spiegarmela in breve?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    Eh esatto..non ho capito bene il discorso della commons-loggins, riusciresti a spiegarmela in breve?
    Devi aggiungere sicuramente anche il jar (è uno solo) della Apache Commons Logging. Questa però non è una libreria di logging in sé ... è solo un "wrapper" leggero verso altre librerie di logging, tra cui Log4j e altre.
    La Commons Logging ha una sua logica per cercare e scegliere la libreria di logging da usare. Se non metti altro in classpath e non configuri quindi nulla, direi che sicuramente trova come minimo la API java.util.logging che è presente di serie nel framework da Java 1.4. E questa se dico (e ricordo) bene, se non è configurata, come default fa nient'altro che scrivere su console.
    Quindi "qualcosa" dovresti vedere sulla console, come minimo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Devi aggiungere sicuramente anche il jar (è uno solo) della Apache Commons Logging. Questa però non è una libreria di logging in sé ... è solo un "wrapper" leggero verso altre librerie di logging, tra cui Log4j e altre.
    La Commons Logging ha una sua logica per cercare e scegliere la libreria di logging da usare. Se non metti altro in classpath e non configuri quindi nulla, direi che sicuramente trova come minimo la API java.util.logging che è presente di serie nel framework da Java 1.4. E questa se dico (e ricordo) bene, se non è configurata, come default fa nient'altro che scrivere su console.
    Quindi "qualcosa" dovresti vedere sulla console, come minimo.
    Io ho gia aggiungo il file jar del pdfbox, quindi devo aggiungere in modo analogo il file.jar della Log4j?

    scusami ma non sò proprio dove sbattere il naso...

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    Io ho gia aggiungo il file jar del pdfbox, quindi devo aggiungere in modo analogo il file.jar della Log4j?
    Quello della Commons Logging, sicuramente. (Download Apache Commons Logging, prendi il pacchetto Binaries, ci trovi il jar dentro).

    Poi se vuoi usare anche Log4j, ok è possibile, ma allora va configurato.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Ma il mio codice per te è corretto?

  8. #8
    Non sembra sbagliato, ma personalmente avrei diviso la parte di lettura del contenuto del PDF e la parte di creazione del JFrame per aver qualcosa di riusabile.
    Segui quanto detto da andbin, niente di più facile che sia il file ad essere corrotto.

    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  9. #9
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Non sembra sbagliato, ma personalmente avrei diviso la parte di lettura del contenuto del PDF e la parte di creazione del JFrame per aver qualcosa di riusabile.
    Segui quanto detto da andbin, niente di più facile che sia il file ad essere corrotto.

    Ciao.
    Ho risolto gli errori precedenti...ora non ho più errori ne in esecuzione ne in compilazione, ma purtroppo in esecuzione mi apre sempre un JFrame vuoto...

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da marco1462 Visualizza il messaggio
    purtroppo in esecuzione mi apre sempre un JFrame vuoto...
    Puoi postare un pochino di codice (magari di più di quello postato all'inizio)? Da quello iniziale, vedo e capisco solo che stai usando il componente (pannello) di PDFBox per mostrare una pagina.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.