Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    9

    [JAVA] Convertire file PDF

    Ho bisogno di qualche dritta per convertire un file pdf in un file txt.
    Avete qualche suggerimento?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230
    Scusami Ivan7 potresti specificare in quale contesto di serve questa conversione

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    9
    Si hai ragione...
    Io sto sviluppando un'applicazione che mi permette, attraverso le librerie di Open Office, di convertire i file presenti in una directory in formato txt.
    Ora io sono riuscito a fare questa conversione per tutti i tipi di file (doc, xls, rtf...) ma non riesco a fare la conversione di un pdf.

    Questa è la parte di codice che converte i file:

    import com.sun.star.*;

    public static void convert (File file, XComponent component, String dirFinale)
    throws Exception{

    XStorable xStorable = (XStorable)
    UnoRuntime.queryInterface(XStorable.class, component);

    String fileName = file.getName();
    StringTokenizer st = new StringTokenizer(fileName,".");

    File file2 = new File(dirFinale+st.nextToken());
    String estensione = st.nextToken();
    File fileFinale = new File(file2 +"."+estensione+".txt");

    // Set properties for conversions
    PropertyValue[] conversionProperties ;


    if(estensione.equalsIgnoreCase("xls")){

    conversionProperties = new PropertyValue[3];

    conversionProperties[0] = new PropertyValue();
    conversionProperties[0].Name = "Overwrite";
    conversionProperties[0].Value = new Boolean(true);

    conversionProperties[1] = new PropertyValue();
    conversionProperties[1].Name = "FilterName";
    conversionProperties[1].Value = "Text - txt - csv (StarCalc)";

    conversionProperties[2] = new PropertyValue();
    conversionProperties[2].Name = "FilterOptions";
    conversionProperties[2].Value = "44,34,ANSI,1";

    }else{

    conversionProperties = new PropertyValue[2];

    conversionProperties[0] = new PropertyValue();
    conversionProperties[0].Name = "Overwrite";
    conversionProperties[0].Value = new Boolean(true);

    conversionProperties[1] = new PropertyValue();
    conversionProperties[1].Name = "FilterName";
    conversionProperties[1].Value = "Text (encoded)";
    }

    // Convert
    try {
    xStorable.storeToURL(createUNOFileURL(fileFinale),
    conversionProperties);

    } catch (IOException e) {
    e.printStackTrace();
    }
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    230
    Mi dispiace ma non posso esserti di aiuto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    io ho usato questo pacchetto http://www.jpedal.org/

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    9
    Grazie a tutti lo stesso.
    Ho risolto scaricando il pacchetto PDFBox, attraverso il quale riesci ad estrarre il testo contenuto in un pdf e salvarlo in una variabile.
    Poi ho creato un file di testo e gli ho passato come contenuto la mia variabile.

  7. #7
    Ciao Mi daresti una mano
    io provo a estrerre il ytesto ma ho la seguente ecezione!!!!
    import org.pdfbox.pdmodel.PDDocument;
    import org.pdfbox.pdfparser.PDFParser;
    import java.io.*;
    import org.pdfbox.util.PDFTextStripper;
    import java.util.Date;

    public class Main {

    /** Creates a new instance of Main */
    public Main() {
    }

    public static void main(String[] args) {
    PdfExtracter p=new PdfExtracter();
    String t;
    try {
    t=p.GetTextFromPdf("C:\\Users\\Peppe\\Desktop\\pro va.pdf");
    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }
    }


    class PdfExtracter {

    public PdfExtracter() {
    }

    public String GetTextFromPdf(String filename) throws Exception
    {
    String text = "";
    InputStream in=new FileInputStream(filename);
    StringWriter out=new StringWriter();
    PDFTextStripper stripper = new PDFTextStripper();
    PDFParser parser = new PDFParser(in);
    parser.parse();
    PDDocument document = parser.getPDDocument();
    stripper.writeText(document,out);
    text=out.toString();
    System.out.println(text);
    return text;
    /*PDDocument pdfdocument = null;
    FileInputStream is = new FileInputStream(filename);
    PDFParser parser = new PDFParser( is );
    parser.parse();
    pdfdocument = parser.getPDDocument();
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    OutputStreamWriter writer = new OutputStreamWriter( out );
    PDFTextStripper stripper = new PDFTextStripper();
    stripper.writeText(pdfdocument.getDocument(), writer);
    writer.close();
    byte[] contents = out.toByteArray();

    String ts = new String(contents);
    System.out.println("the string length is"+contents.length+"\n");
    return ts;*/
    }
    }


    errore:
    Exception in thread "main" java.lang.NoClassDefFoundError: org/fontbox/afm/AFMParser
    at org.pdfbox.pdmodel.font.PDFont.getAFM(PDFont.java: 350)
    at org.pdfbox.pdmodel.font.PDFont.getAverageFontWidth FromAFMFile(PDFont.java:313)
    at org.pdfbox.pdmodel.font.PDSimpleFont.getAverageFon tWidth(PDSimpleFont.java:231)
    at org.pdfbox.util.PDFStreamEngine.showString(PDFStre amEngine.java:276)
    at org.pdfbox.util.operator.ShowTextGlyph.process(Sho wTextGlyph.java:80)
    at org.pdfbox.util.PDFStreamEngine.processOperator(PD FStreamEngine.java:452)
    at org.pdfbox.util.PDFStreamEngine.processSubStream(P DFStreamEngine.java:215)
    at org.pdfbox.util.PDFStreamEngine.processStream(PDFS treamEngine.java:174)
    at org.pdfbox.util.PDFTextStripper.processPage(PDFTex tStripper.java:336)
    at org.pdfbox.util.PDFTextStripper.processPages(PDFTe xtStripper.java:259)
    at org.pdfbox.util.PDFTextStripper.writeText(PDFTextS tripper.java:216)
    at PdfExtracter.GetTextFromPdf(Main.java:40)
    at Main.main(Main.java:18)
    Java Result: 1

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    177
    Originariamente inviato da Ivan7
    Grazie a tutti lo stesso.
    Ho risolto scaricando il pacchetto PDFBox, attraverso il quale riesci ad estrarre il testo contenuto in un pdf e salvarlo in una variabile.
    Poi ho creato un file di testo e gli ho passato come contenuto la mia variabile.
    Ciao, ho avuto il tuo stesso problema, io devo estrarre il testo di un pdf (200 pagine o più) per salvarlo in un database, o simili. Mi potresti dire come hai fatto? mi dai qualche consiglio o magari se vuoi mi dai uno stralcio di codice della parte riguardatane l'estrazione.
    In oltre vorrei sapere se hai usato solo PDFBox.

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Moderazione

    Originariamente inviato da Vixer
    Ciao, ho avuto il tuo stesso problema
    La discussione è vecchia di anni ed è stata già risollevata.

    Se hai un problema specifico, apri una discussione dedicata rispettando le norme indicate nel Regolamento di quest'area.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.