Java - Asignar nombre de PDF a copia en TXT

   
Vista:
Imágen de perfil de miguel

Asignar nombre de PDF a copia en TXT

Publicado por miguel (14 intervenciones) el 20/09/2017 16:59:37
que tal todos hoy tengo un ligero problema, actualmente mi codigo convierte PDF en txt y los guarda dentro de mi workspace pero con un nombre predeterminado, lo que quisiera es saber como llamarlo de la misma manera que se llama el archivo PDF que convierte pero no entiendo muy bien como hacerlo, uso la libreria de ITEXT...

De igual manera les dejo el codigo por si a alguien pudiera necesitarlo....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.parser.PdfTextExtractor;
import java.awt.Desktop;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.JFileChooser;
 
public class PDFToTextConverter{
 public static void main(String[] args){
  selectPDFFiles();
 }
 
 
 //allow pdf files selection for converting
 public static void selectPDFFiles(){
 
  JFileChooser chooser = new JFileChooser();
      FileNameExtensionFilter filter = new FileNameExtensionFilter("PDF","pdf");
      chooser.setFileFilter(filter);
      chooser.setMultiSelectionEnabled(true);
      int returnVal = chooser.showOpenDialog(null);
      if(returnVal == JFileChooser.APPROVE_OPTION) {
               File[] Files=chooser.getSelectedFiles();
               System.out.println("Please wait...");
               for( int i=0;i<Files.length;i++){
                convertPDFToText(Files[i].toString(),"textfrompdf"+i+".txt");
                }
   System.out.println("Conversion complete");
                }
 
 
  }
 
 public static void convertPDFToText(String src,String desc){
  try{
   //create file writer
   FileWriter fw=new FileWriter(desc);
   //create buffered writer
   BufferedWriter bw=new BufferedWriter(fw);
   //create pdf reader
   PdfReader pr=new PdfReader(src);
   //get the number of pages in the document
   int pNum=pr.getNumberOfPages();
   //extract text from each page and write it to the output text file
   for(int page=1;page<=pNum;page++){
    String text=PdfTextExtractor.getTextFromPage(pr, page);
    bw.write(text);
    bw.newLine();
 
   }
   bw.flush();
   bw.close();
 
 
 
  }catch(Exception e){e.printStackTrace();}
 
 }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jose

Asignar nombre de PDF a copia en TXT

Publicado por Jose (46 intervenciones) el 20/09/2017 18:17:00
Como cuando haces lo más dificil y te atrancas con lo facil XD.

bueno imagino que ya tienes un buen nivel en java, así que solo me dedicare a colocar el código esperando que puedas entenderlo y no solo usarlo ¬¬, como una minoría de flojos que preguntan en este firi, que solo esperan que alguien les haga la tarea jaja.

1
2
3
4
5
6
for( int i=0;i<Files.length;i++){
    String nameFile=Files[i].getName();//te retorna el nombre con la extension del archivo ejemplo: mi_archivo.pdf
    //quitamos la extensión
     String nombreTxt=nameFile.substring(0,nombre.lastIndexO f("."))+".txt";//agregamos la extensión txt
    convertPDFToText(Files[i].toString(),nombreTxt);//llamamos a tu metodo.
}

y listo con esto ahora tus archivos txt, tendrá el nombre del archivo pdf de donde provienen, y se seguirán guardando en el workspace

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de miguel

Asignar nombre de PDF a copia en TXT

Publicado por miguel (14 intervenciones) el 20/09/2017 20:26:43
Muchas gracias jose relativamente era algo sencillo, todavia tengo mucho que aprender jaja! ....


pero aprovechando tu solidaridad podrias orientarme como es que puedo darle formato a los archivos .txt ?

Mi objetivo es realizar un Search Engine con lucene ya tengo el indexador y la busqueda y ahora la convercion de los pdf pero
quisiera que fuera un tipo google que muestre el header y un pequeño summary y al dar click muestre el contenido del doc, lamentablemente aun estoy lejos pero cada ves mas cerca!

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad