Newsgroup: it.comp.lang.visual-basic
Titolo: pilotaggio di uno scanner

Dovrei pilotare uno scanner Twain
ho il controllo ImgScan.dll 1.01.20136 (1995/1996) della TWAIN, che funziona
bene, ma...
Per "settare" lo scanner mi costringe ad aprire il pannellino di setup del
mio scanner settando la proprità
ShowSetupBeforeScan=true
Se non lo faccioe, scannerizza "male" (sbaglia la zona da scannerizzare,
ovvero fa solo parte della pagina A4). Insomma pare che il settaggio sia
obbligatorio ogni volta.
Vorrei pilotare completamente lo scanner da codice, senza aprire nessun form
di settaggi.
Qualcuno sa come fare?
Grazie molte
riccv...@hotmail.com

avevo già risposto a questo msg più sotto...
--------------------------------------------------------------
l'uso di scanner twain costringe a passare per l'interfaccia software
fornita dal produttore dello scanner stesso
questo significa che modelli diversi hanno funzioni diverse
implementate nell'interfaccia
twain ha semplificato l'interfacciamento (e l'uso) degli scanner, ma
ha anche reso impossibile operare direttamente sulle periferiche (ad
esclusione di alcuni modelli)
insomma, non tutte le interfacce twain supportano la programmazione
diretta (ad esempio quelle degli scanner HP) ed ancora meno ricordano
le ultime impostazioni, rendendo agevole la lettura
un modello che invece supporta la programmazione è il Plustek OpticPro
4031 (~150kl, parallelo, 8 sec/pag per il b/n a 300dpi)
concludendo, non è detto che twain supporti la programmabilità, quindi
il tuo programma dovrà tenere conto di questo
se ne hai voglia scarica Protocol (sono 10 mb, fatto qui da noi) che
implementa tutte le funzionalità dell'interfaccia twain
http://members.xoom.it/protocol
--
GbC
http://www.chiappori.net

velocemente?
con uno scanner twain?
mah...
--
GbC
--
ecco il codice:
FoCop è la form che contiene l'ambaradam...
Sub FcScanna()
    If ImgScan.ScannerAvailable = True Then
        'una immagine tiff vuota per appoggio...
        ImgScan.Image = GetWindowsDir + "$$$FC$$$.$$$"
        '--------------------------------
        ImgScan.OpenScanner
        '-
        'se l'opzione 'mostra parametri è selezionata
        'mostra la finestra dei paramentri dello scanner...
        If sPara.CHECKED <> 0 Then
            ImgScan.ShowSetupBeforeScan = True
        Else
            ImgScan.ShowSetupBeforeScan = False
        End If
        '-
        ImgScan.StartScan
        ImgScan.CloseScanner
        '--------------------------------
        ImgEdit1.Page = 1
        ImgEdit1.FitTo 0
        ImgEdit1.Display
    Else
        MsgBox "Non ci sono scanner disponibili", _
               vbInformation, _
               "Manca uno scanner TWAIN"
    End If
End Sub
Sub FcStampa()
    Dim Ret, l As Integer
    Dim A, B, c As String
    'Mas è l'AdministrationTool di Imaging
    Mas.Image = ImgEdit1.Image
    Mas.PrintOutputFormat = 2 '0 pix=pix, 1 actual size, 2 fit to page
    Mas.PrintAnnotations = False
    'STAMPA...
    FoCop.MousePointer = vbHourglass
    Printer.Copies = cNum.Value
    ImgEdit1.PrintImage ImgEdit1.Page, ImgEdit1.Page, _
        Mas.PrintOutputFormat, _Mas.PrintAnnotations
    FoCop.MousePointer = vbDefault
End Sub

...


Ti ringrazio. Funziona anche se con qualche piccolo controllo aggiuntivo.
Ma....
Non sono riuscito a trovare informazioni su come settare run time la
risoluzione di acquisizione.
Mi sai dire quale e' la proprieta' da settare.
E' vero che e' lento, ma quanti sono i possessori di scanner da 50 pagine al
minuto fronte/retro?
Quello che voglio fare e' un semplice programmino che permetta di fare
agevolmente delle copie su carta
o inviare un fax o salvare una immagine. Niente di piu'.
Questo perche' sui vari scanner che ho installato uno su dieci ha una
funzionalita' di questo genere e spesso non e' neanche semplice da usare.
I miei clienti comprano lo scanner al 90% per fare fotocopie, quindi e'
doveroso fornirgli questa utility altrimenti mi dicono che li ho fregati
perche' poi devono comprarsi questo o quel prodotto per ottenere il
risultato.
Tanto vale che glielo regali io insieme all'hardware.
Un paio di anni fa avevo usato delle librerie professionali della Wang Image
e con quelle riuscivo a settare run time ogni singolo parametro dello
scanner.
Con le DLL fornite con S.O. Microsoft mi sai dire se e' possibile? O devo
andarmi a comprare le librerie?
PS
Se non devo spendere altro che il mio tempo per fare questo programmino
saro' ben felice di postarlo per tutti sul sito comune.
Saluti e grazie



...
