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
| use strict;
use warnings;
use PDF::API2;
use Config::IniFiles;
my $pdf = PDF::API2->new();
my @repertoire;
my @fichier_facture;
my @fichier_paie;
my $cfg = Config::IniFiles->new( -file => $ARGV[0] );
foreach ('REP_PROD') {
push @repertoire, $cfg->val('repertoire', $_);
}
foreach ('FIC_1','FIC_2') {
push @fichier_facture, $cfg->val('fichier_facture', $_) if $cfg->val('fichier_facture', $_);
}
foreach ('FIC_4','FIC_5') {
push @fichier_paie, $cfg->val('fichier_paie', $_) if $cfg->val('fichier_paie', $_);
}
sub GetFilesList
{
my $Path = $_[0];
my $FileFound;
my @FilesList=();
## Lecture de la liste des fichiers
opendir (my $FhRep, $Path)
or die "Impossible d'ouvrir le repertoire $Path\n";
my @Contenu = grep { !/^\.\.?$/ } readdir($FhRep);
closedir ($FhRep);
foreach my $FileFound (@Contenu) {
## Traitement des fichiers
if ( -f "$Path/$FileFound") {
push ( @FilesList, "$Path/$FileFound" );
}
## Traitement des repertoires
elsif ( -d "$Path/$FileFound") {
## Boucle pour lancer la recherche en mode recursif
push (@FilesList, GetFilesList("$Path/$FileFound") );
}
}
return @FilesList;
}
my @Files = GetFilesList ($repertoire[0]);
foreach my $File (@Files) {
next unless $File =~ /\.lst$/i;
print "$File \n";
}
my %dirs = ( facture_pdf => "facture", bulletin_paie => "paie", ordonnance => "ordonnance" ); # à remplacer éventuellement pas fichier de config
for my $dir (keys %dirs) {
my $file_names = "$dirs{$dir}*.pdf";
my @files = glob ("$dir/$file_names");
for my $file (@files) {
convert ($dir, $file);
}
}
sub convert {
my ($dir, $file_in) = @_;
my $file_out = $file_in;
$file_out =~ s/pdf$/txt/;
} |
Partager