Bonsoir a tous,
je suis en train de secher sur la création d'un fichier texte depuis un document PDF.
Mon final étant cette création de fichier texte bref.
dans un premier temps suite à la lecture du pdf qui se présente sous forme de tableau (l-cf. ma capture d'écran) j'obtiens un premier .txt AIRAC.txt
dans ce fichier texte, on constate que les coordonnées au lieu d'etre a la ligne se trouve collée a la ligne précédente.(mon premier souci )
in fine de ce premier texte je souhaite extraire le nom / les coordonnées / les Hauteurs minimales de survol
pour cela j'utilise le code suivant
le resultat de mon fichier 2 ne correspond pas a ce qui s'affiche dans la console qui elle me renvoie la globalité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package pdfclasses; /** * * @author xxxxx */ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Scanner; public class test { /** * @param args the command line arguments * @throws java.io.IOException */ public static void main(String[] args) throws com.itextpdf.io.IOException, IOException { PDFManager pdfManager = new PDFManager(); pdfManager.setFilePath("/Users/xxxxx/Desktop/FR-ENR-5.7-fr-FR.pdf"); File AIRAC = new File("/Users/xxxxx/Desktop/AIRAC.txt") ; String text = pdfManager.toText(); File AIRAC2 = new File("/Users/xxxxx/Desktop/AIRAC-2.txt") ; try (PrintWriter out = new PrintWriter(new FileWriter(AIRAC))) { out.write(text) ; //écris dans le fichier out.println();//fais un retour à la ligne dans le fichier out.close();//Ferme le flux du fichier, sauvegardant ainsi les données. } catch (IOException e) { e.printStackTrace(); } Scanner in = new Scanner(AIRAC); //scanne le fichier AIRAC in.useDelimiter("FIR"); in.useDelimiter("ASFC"); while(in.hasNextLine()) { String line = in.next(); System.out.println(line); // renvoie le resultat du delimiteur dans la console try (PrintWriter out = new PrintWriter(new FileWriter(AIRAC2))) { out.write(line) ; //écris dans le fichier AIRAC2 out.println();//fais un retour à la ligne dans le fichier out.close();//Ferme le flux du fichier, sauvegardant ainsi les données. }catch (IOException e) { e.printStackTrace(); } } } }
auriez vous une idée svp ?
par avance merci pour votre aide
Partager