Newsgroup: it.comp.os.linux.software
Titolo: Scansione documenti

Salve a tutti,
oggi ho comprato uno scanner e dovrò scansionare migliaia di documenti,
bollette, fatture ecc.
Ho una Suse 10 ed è già installato Kooka, vorrei sapere da chi ha maggior
esperienza, questo programma è valido? se no, consigli su cosa usare?
vorrei che il documento finale uscisse in pdf ma ad una primissima occhiata
mi è sembrato di vedere che Kooka non lo permette. Attendo smentite.
Vorrei anche un sw che gestisca ed indicizzi i migliaia di file che produrrò
in modo da trovarli nel minor tempo possibile.
Grazie
-- 
***************
seamaster (MO)

seamaster ha scritto:

Non conosco kooka. Tempo fa mi ero fatto questo scriptino in php
(ovviamente migliorabile), che fa quello che cerchi.
Si appoggia ad altri programmi esterni (scanimage, pnmtops, gs,
xmessage, kpdf, forse altri, guarda il listato) che devono essere
installati.
Forse è superfluo aggiungerlo, ma per l'indicizzazione dei documenti
non è che intendi digitare qualche parola presente sul file e trovarlo,
vero? Perché hai sì il pdf, ma costituito da varie immagini bianche
con un po' di chiazze nere, che il cervello umano riconosce come
"scrittura". Se intendi riconoscere la scrittura devi anche passare
per un ocr.
Bye
GP
#!/usr/bin/php -q
<?php
/*
   Copyright (C) 2001-2003  G.Paolo Bizzaro
   This program is free software; you can redistribute it and/or modify it under the terms of the GNU
   General Public License as published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.
   This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
   License for more details.
   You should have received a copy of the GNU General Public License along with this program; if not,
   write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
############################################################################################
$myMode=0 ;          # default scala di grigi
$myLandscape=0;      # default portrait
$myHistEq=0;         # default nessuna equalizzazione immagine
$myGamma=0 ;         # default nessuna gamma correction
$myResolution=150;   # default 150 dpi
if ($argc==1)
{
   print "ScanPdf 1.1 by G.Paolo Bizzaro\n"
   . "utility to scan A4 pages directly in pdf format\n"
   . "usage: scanpdf [options] file.pdf [[options] file.pdf] ...\n"
   . "where options (case insensitive) are:\n"
   . "-C: color scale  -G: grey scale (default)\n"
   . "-L: landscape    -P: portrait (default)\n"
   . "-X: gamma        -U: ungamma (default)\n"
   . "-Rresolution (default $myResolution dpi)\n" ;
}
for ( $i=1 ; $i < $argc ; $i++ )
{
   $argo = $argv[$i] ;
   $opzioni=1;
   if ($opzioni>0)
   {
     $uargo = strtoupper($argo);
     if ($uargo=="--")                    { $opzioni = 0;     continue; }                     # fine opzioni
     elseif ($uargo=="-C")                { $myMode=1;        continue; }                     # colori
     elseif ($uargo=="-G")                { $myMode=0;        continue; }                     # scala di grigi
     elseif ($uargo=="-L")                { $myLandscape = 1; continue; }                     # landscape
     elseif ($uargo=="-P")                { $myLandscape = 0; continue; }                     # portrait
     elseif ($uargo=="-X")                { $myGamma=1;     continue; }                      #
     elseif ($uargo=="-U")                { $myGamma=0;     continue; }                      #
     elseif ( strncmp($uargo,"-R",2)==0)  { $myResolution = substr($uargo,2)+0 ; continue; }  # risoluzione
   }
   mt_srand((double)microtime()*1000000);
   $prefix = getenv("HOME") . "/tmp/scan" . dechex(mt_rand(0,mt_getrandmax())) ;
   $msg =  $prefix . "msg.txt" ;
   $pnm1 = $prefix . "pnm1.pnm" ;
   $post = $prefix . "
post.ps
" ;
   if (!(ereg("^/",$filename)))     $filename = getenv("PWD") . "/" . $filename ;
   $page = 0 ;
   while(1)
   {
     passthru ( "echo >$msg -e \" Premere 'SCAN' per scannerizzare la pagina " . ($page+1) . " \\n di $filename, \\n"
              . " oppure 'FINE' per terminare. \\n\"" , $result ) ;
     passthru ( "xmessage -buttons SCAN:20,FINE:1 -center -file $msg" , $result ) ;
     if ($result!=1)  // scannerizza
     {
       passthru ( "scanimage -y 297 -x 210  --resolution $myResolution --mode " . ($myMode ? "Color" : "Gray")
              . ($myGamma  ? "" : " | pnmgamma -ungamma") . " >$pnm1" , $result ) ;
       passthru ( "pnmtops 2>>/dev/null "
              . (($myLandscape!=0) ? "-turn -center -width 11.69 -height 8.26" : "-center -width 8.26 -height 11.69")
              . " $pnm1 " . ( $page ? ">>" : ">") . "$post" , $result ) ;
       $page++ ;
     }
     else break ;
   }
   if ( $page )
   {
     passthru ( "gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=a4 -sOutputFile=$argo -f $post" , $result ) ;
     passthru ( "rm -f $pnm1 $post $msg" , $result ) ;
     passthru ( "kpdf $argo", $result) ;   # <<===== era xpdf
   }
}
?>

 Tempo fa mi ero fatto questo scriptino in php ...
Dimenticavo:
per creare QuelloCheTiPare.pdf basta digitare:
   scanpdf QuelloCheTiPare.pdf
Bye
GP