[sane-standard] More device properties

Étienne Bersac bersace03 at laposte.net
Wed Jan 17 20:38:23 CET 2007


Hi,


> (1) the paper can be centered/left aligned/right aligned in the
>     feeder

right and left depend on which side of the scan area the ADF is :
top/bottom/left/right. The paper can be centered/"start" aligned/"end"
aligned in the feeder.

> (2) some scanners know about the parameters "page width" and "page
>     length"

You mean that e.g. some ADF allow to press paper between two handles,
and the scanner will scan only between the two handle ?

> (3) the origin of the scan window coordinates is fixed, or it is at
>     the "corner" of the selected page size.

I don't understand. That's too fuzzy. Please explain.

> Another question is, if a frontend really needs to know about all
> these details: If a user does not properly adjust the paper width of
> the  feeder, the scan results will anyway be a bit messy.

Also, some ADF does not properly introduce the paper.

> And if we
> assume that the feeder is properly aligned, I think that (1) is no
> longer important.

frontend must know how the feeder is aligned.

> >>   - "ADF preview" (feed first page, do a preview scan, leave it on the
> >>     scan area so the user can fiddle with whatever other options before
> >>     starting a scan of a 100 page document.  You may even want to allow
> >>     for repeating the preview with the same page.)
> > 
> > That makes sense.
> 
> ...only for some, if any, ADF scanners. Those ADF/flatbed scanners I
> know work a bit different in ADF mode:

ACK. However, some might allow ADF preview, we must support that. The
backend must teach the frontend if it can preview with ADF.

> I think the options currently used by the Fujitsu and Avision
> backends (and perhaps others) are sufficient: source = flatbed | ADF
> front | ADF back | ADF duplex.

I think that this source usage is a confusion of two separate options.
That's a quirks common in various backend.

> "long edge/short edge" depends on the paper size: I can scan an A5
> size paper in landscape mode, if the maximum scan size is at least
> A4. For proper rotation of the scanned images by a frontend, you
> need to know several things:
> 
> (1) Which "rotation axis" is used by humans in order to turn the
>     paper from the front side to the back side (aka "long edge
>     binding/short edge binding" for books) -- this must be selected
>     for each batch of documents,
> (2) how this axis is oriented, when the paper in the ADF,
> (3) the orientation of the frontside and backside images as produced
>     by the scanner.
> 
> It might make sense to add an option for (3) to ADF-duplex backends,
> but (1) and (2) are a challenge for the UI of a frontend ;)

ACK. frontend should ask for document size, orientation and duplex mode.
For (3), please explain the option.

> 
> >       * ADF introduced side
> >               * name: "adf-side"
> >               * title: "From which side of the scan area the document
> >                 come from"
> >               * desc: ""
> >               * type: enum
> >               * values: right/left/top/bottom
> 
> Is this really necessary? I have the impression that this mixes with
> your suggested adf-padding and the details, how a scanner handles
> the paper size settings (if the latter is settable at all).

This option teach the frontend where is the ADF relative to the flatbed.
The padding is just an offset, teaching where is placed the document in
the wide scan area.

> >       * ADF padding
> >               * name: "adf-padding"
> >               * title: "ADF padding"
> >               * desc: "Expose the padding of the document in the ADF,
> >                 relative to scan area origin of the adf-side. If
> >                 adf-centered is set to true, then the padding refer to
> >                 the center of the document."
> >               * type: Fixed
> >               * unit: mm
> >               * readonly
> 
> See above: The details, how the scan window coordinates are affected
> by mechanical details of an ADF etc, are a bit more complicated, I
> believe.

Please explain.

> More important might be a flag like "processing hints" for options:

ACK.

Thanks for your comments.



This is how i see the problem :

User has a scanner with an ADF and a flatbed. The ADF can be either on
top/bottom/left/right of the flatbed. The ADF has a padding relative to
flatbed : when a document is introduced, the document is not at top
right corner of the flatbed. The ADF can center the document or align it
to start or end of the side.

User has a multipage document. This document can be simplex or duplex,
portrait or landscape.


Here is an example :

User A has an all-in-one printer with flatbed and ADF.
      * The feeder is at right side of the scan area.
      * The feeder center the document.
      * The center of the feeder is at 170mm from the top of the scan
        area. adf-offset = 170mm
      * Wide scan area (flatbed geometry) = 240x350mm

User A has a multipage A4 document in landscape orientation with duplex
printing.

      * He sets source to "Automatic Document Feeder"
      * He sets format to A4
      * He sets orientation to landscape (in portrait/landscape/reverse
        landscape).
      * He checks duplex.

The frontend computes the scan area and rotation and set various
options. The scanner geometry does not allow to scan an A4 landscape
without rotating the document.

      * set source = ADF
      * Since the document is landscape (not reverse landscape), the
        images will naturally be rotated 90° clockwise for frontside and
        counterclockwise for backside.
      * Since the document is A4 landscape and rotated, the document
        will be introduced by the 297mm long side. So scan area width =
        210 and scan area height = 297mm.
      * Since the feeder is at right of the scan area, set tl-x =
        240-210.
      * Since the feeder center document and feeder center is at 170mm,
        set tl-y = 170-(297/2) = 21,5mm.
      * set br-x = tl-x + 210
      * set br-y = tl-y + 297

According to this example, i don't really know if adf-duplex is usefull.
Can device rotate the paper ?


Another example :

User B has a scanner with flatbed and ADF source.

      * The feeder is on bottom of the flatbed, document are introduced
        by the top (adf-side = top).
      * The feeder center document.
      * The feeder has two "handles" the user have to move to the
        "press" the fit the document in. This handles teach the device
        the width of the document. adf-offset is 0mm.
      * The flatbed geometry is 220x320mm.

User B has a one page simplex A5 document.
      * He set format to A4
      * orientationto portrait.
      * source to ADF
      * Uncheck duplex

Behind the UI, the frontend

      * Compute that no rotation is needed (210 fit 220)
      * adf-offset is 0, set tl-x = 0
      * adf-side is top : set tl-y = 0
      * set br-x = tl-x + 210
      * set br-y = tl-y + 297
      * sane_start () :)

Please tell me what you think of.

Thanks,
Étienne
-- 
Verso l'Alto !
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Ceci est une partie de message
	=?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=
Url : http://lists.alioth.debian.org/pipermail/sane-standard/attachments/20070117/d9517d27/attachment.pgp


More information about the sane-standard mailing list