Bonjour à tous,
Je suis confronté à un petit problème et je pense que celui-ci pourrait être facilement résolvable par toute personne ayant une connaissance avertie de ce langage,je vous le soumet donc.
Utilisation:
J'ai dans un premier temps j'ai ecris un script qui me permet de deduire un statut clinique en fonction de nombreux paramètres extrait d'un fichier texte, ensuiteil a ecriture du résultat dans un fichier texte, cela pour environ 2000 patients. Cette partie du code marche très bien.
Grossièrement le script correspond a:
- Tant qu'il y a des lignes (patient) dans le fichier de donnée.
- Extraction des données necessaires
- Integration de ces données dans un modèle de prediction.
- Obtention d'un statut résultat
- Ecriture du num_patient + statut dans le fichier texte de sortie.
J'obtient bien un fichier de sortie avec l'ensemble des patients et leurs statut respectif, mais....
Ayant il y a peu decouvert le module use PDF::......; je me suis mis au defi de generer un fichier pdf avec un tableau contenant l'ensemble des résultats or le probleme reside du fait que ne je ne sais que generer des tableaux une fois que j'ai l'ensemble des valeurs qu'il devra contenir.
Construction une fois que l'on a toute les valeurs du tableau:
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 #!/usr/bin/perl # Ce code marche use strict; use PDF::API2; use PDF::Table; my $pdftable = new PDF::Table; my $pdf = new PDF::API2(-file => "Breast_Cancer.pdf"); my $page = $pdf->page(); $pdf->megaboss('A4'); # pas necessaire de faire ce tableau mais ça m'entraine... my @tableau_pdf_entete = (' Numéro du patient', ' Methode ', ' Code ', ' probabilité '); my @tableau_pdf_valeurs = ($numero_patient, $code, $nom_methode, $probabilite); my $tableau_pdf =[ [$tableau_pdf_entete[0], # Entete $tableau_pdf_entete[1], $tableau_pdf_entete[2], $tableau_pdf_entete[3] ], [$tableau_pdf_valeurs[0], # Ligne du tableau/Une ligne parpatient $tableau_pdf_valeurs[1], $tableau_pdf_valeurs[2], $tableau_pdf_valeurs[3] ], #..... 2000 fois avec le résultat respectif de chaque patient ###################### # + ARCHITECTURE TABLEAU # ######################
Ce que je pensé...en depit...s'était de faire de la cuisine avec ;
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
60
61
62
63 use PDF::API2; use PDF::Table;#use Table; my $pdftable = new PDF::Table; my $pdf = new PDF::API2(-file => "Mon_fichier3.pdf"); print "Entrez nom fichier\n"; my $nom_fichier = <STDIN>; chop($nom_fichier);# annulation du retour chariot my $nom_fichier2 =$nom_fichier.".txt";# On ajoute l'extension .txt au nom du fichier afin de rendre possible son ouverture open(F, $nom_fichier2) or die "Le fichier n'existe pas !";# On ouvre le fichier comportant les données my $page = $pdf->page(); $pdf->mediabox('A4'); my @tableau_pdf_entete = ('Numéro du patient',# Entete 'Methode', 'Code', 'probabilité'); my @tableau_pdf_valeurs = ('$numero_patient', '$resultat_pdf', '$method_pdf', '$probabilite'); my $tableau_pdf =[ [$tableau_pdf_entete[0], # Entete $tableau_pdf_entete[1], $tableau_pdf_entete[2], $tableau_pdf_entete[3] ], while ($Patient = <F>) #boucle tant qu'il ya des patients a etudier (ligne dans le fichier). { # Ici ma boucle qui genere les valeurs de: $numero_patient # $resultat_pdf # $method_pdf # $probabilite # [$numero_patient, # Ligne du tableau $resultat_pdf, $method_pdf, $probabilite ], ]; ##################### #+ ARCHITECTURE TABLEAU # ##################### } $pdf->saveas(); close FICHIER;# fermeture des fichiers
Merci d'avoir de l'indulgence face à cet affreux script mais il faut bien un debut a tout, même à la progammation... Bonne jounée
Partager