PDFExtract modifs 3.20.1
authorKilian Saffran <ksaffran@dks.lu>
Tue, 19 Jun 2018 13:29:21 +0000 (15:29 +0200)
committerKilian Saffran <ksaffran@dks.lu>
Tue, 19 Jun 2018 13:29:21 +0000 (15:29 +0200)
Tools/pdfextract.pl
install/create_pdfextract.pl
install/create_setup_windows.pl

index 5f5c775..e33c316 100644 (file)
@@ -7,7 +7,7 @@ use File::Basename;
 use File::Path qw/make_path/;
 use Data::Dumper;
 use File::Copy qw/copy/;
-use XML::LibXML;
+use XML::Simple;
 use JSON::PP;
 use lib('.');
 use sqlite;
@@ -23,7 +23,7 @@ my $log ="";
 my $db = undef;
 my $cmonth = "none";
 my $frmonth = {"Janvier" => '01',"Février"=> '02',"Mars" => '03',"Avril" => '04', "Mai" => '05',"Juin" => '06',"Juillet" => '07',"Août" => '08',"Septembre" => '09',"Octobre" => '10',"Novembre" => '11',"Décembre" => '12'};
-# -db  "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\20170327\\basch\\9475a95d-e2ad-4586-8432-d44a604b3fd3.sqlite" -p "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\2018.3.pdf" -o "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\20170327\\basch\\imports\\9475a95d-e2ad-4586-8432-d44a604b3fd3" -t "C:\\Debug\\Creorga\\Tools" -l "C:\\Users\\ksaff\\AppData\\Roaming\\Creorga\\Profiles\\09coeoa7.default\\lastimport.json"
+# -db  "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\current\\differdange\\5531423c-b85a-4305-9372-c62a293d0c84.sqlite" -p "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\2018.3.pdf" -o "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\current\\differdange\\imports\\5531423c-b85a-4305-9372-c62a293d0c84" -t "C:\\Debug\\Creorga\\Tools" -x "C:\\Users\\ksaff\\DKS\\projects\\Creorga\\Calimero\\" -l "C:\\Users\\ksaff\\AppData\\Roaming\\Creorga\\Profiles\\09coeoa7.default\\lastimport.json"
 GetOptions("dbfile|db=s" => \$dbfile,
            "pdf|p=s" => \$pdffile,
            "outdir|o=s" => \$outputdir,
@@ -125,21 +125,32 @@ if (-e $dbfile) {
 }
 my $xmlres = ();
 if ($xmlfile ne "" && -e $xmlfile){
-       my $xmldata = XML::LibXML->load_xml(location => $xmlfile);
-       foreach my $data ($xmldata->findnodes('//factureExterne')) {
-               my $ref = $data->findvalue('./referenceExterne');
+       print "Lire le fichier XML!\n";
+       my $xmldata = XMLin($xmlfile);
+       
+       foreach my $data (@{$xmldata->{'factureExterne'}}) {
+               #print Dumper($data);
+               my $ref = $data->{'referenceExterne'};
                $xmlres->{$ref}->{reference} = $ref; 
-       $xmlres->{$ref}->{crechename} = $data->findvalue('./objetBasDeFacture'); 
-       $xmlres->{$ref}->{datefacture} = $data->findvalue('./DateFacture');
-       $xmlres->{$ref}->{totalamount} = $data->findvalue('./totalTtc');
-       $xmlres->{$ref}->{totalamount} =  s/\,/\./g;
-       $xmlres->{$ref}->{totalamount} =  s/\s+//g;
-           my @cast = map {$_->to_literal();} $data->findnodes('./lignesFacture/ligneFacture/objetLigneFacture');
-               my @numchks = split("\n",$cast[0]);
-               my $nx = $numchks[0];
-               $xmlres->{$ref}->{checkservice} = $nx;
+       $xmlres->{$ref}->{crechename} = $data->{'objetBasDeFacture'}; 
+       $xmlres->{$ref}->{datefacture} = $data->{'DateFacture'};
+       my $ttc = $data->{'totalTtc'};
+       $ttc =~ s/\,/\./g;
+       $ttc =~ s/\s+//g;
+       $xmlres->{$ref}->{totalamount} = $ttc;
+       if (ref($data->{lignesFacture}->{ligneFacture}) eq "HASH"){
+               $xmlres->{$ref}->{checkservice} = $data->{lignesFacture}->{ligneFacture}->{objetLigneFacture};
+       } elsif (ref($data->{lignesFacture}->{ligneFacture}) eq "ARRAY"){
+               $xmlres->{$ref}->{checkservice} = $data->{lignesFacture}->{ligneFacture}[0]->{objetLigneFacture};       
+       }
+       
+#          my @cast = map {$_->to_literal();} $data->findnodes('./lignesFacture/ligneFacture/objetLigneFacture');
+#              my @numchks = split("\n",$cast[0]);
+#              my $nx = $numchks[0];
+#              $xmlres->{$ref}->{checkservice} = $nx;
        }
 }
+print Dumper($xmlres);
 my $allchilddata = ();
 if ($totext == 1) {
   foreach my $n (@nfiles){
index 27f0366..bd7c3e0 100644 (file)
@@ -3,4 +3,4 @@
 use strict;
 
 chdir("C:\\Users\\ksaff\\Workspace\\creorga\\Tools");
-system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Debug\\Creorga\\Tools\\pdfextract2.exe" --cachedeps="C:\Users\ksaff\Release\deps.txt" --module="XML::LibXML" --compress 6 pdfextract.pl');
+system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Debug\\Creorga\\Tools\\pdfextract.exe" --module="XML::Simple" --compress 6 pdfextract.pl');
index 26cf35a..001d11a 100644 (file)
@@ -194,7 +194,7 @@ if (($setup eq "director")){
   #compile executeables
   chdir("C:\\Users\\ksaff\\Release\\tag\\Tools");
 #  system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Users\\ksaff\\Release\\dist\\Tools\\creorgadb.exe" creorgadb.pl');
-  system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Users\\ksaff\\Release\\dist\\Tools\\pdfextract2.exe"  --module="XML::LibXML" --compress 6 pdfextract.pl');
+  system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Users\\ksaff\\Release\\dist\\Tools\\pdfextract.exe"  --module="XML::Simple" --compress 6 pdfextract.pl');
   #copy("C:\\Debug\\Creorga\\Tools\\pdfextract2.exe","C:\\Users\\ksaff\\Release\\dist\\Tools\\pdfextract.exe");
   #system('"C:\\Strawberry\\perl\\site\\bin\\pp" -o "C:\\Debug\\Creorga\\Tools\\pdfextract.exe" --module="XML::LibXML" pdfextract.pl');