openpaperwork / paperwork

Personal document manager (Linux/Windows) -- Moved to Gnome's Gitlab
https://gitlab.gnome.org/World/OpenPaperwork/paperwork
2.43k stars 149 forks source link

Scanning from Duplex (recto-verso) scanner just scan the first page (recto) #318

Closed nbremond77 closed 10 years ago

nbremond77 commented 10 years ago

Hello, I tried to scan from my Borther MFC-J6920DW multifunction printer-scanner wich has an A3 dual side duplex ADF (automatic document feeder) scanner, and paperwork just imported on side of the document. To launch the scan, I have chowen:

Here is the reported by paperwork:

INFO   paperwork.frontend.util.actions Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  Showing doc 20140814_2223_36
INFO   paperwork.frontend.mainwindow  Doc is already shown
INFO   paperwork.frontend.util.actions Action: [Scan multiples pages]
INFO   root                           UI file used: /usr/share/paperwork/multiscan/multiscan.glade
INFO   paperwork.frontend.util.actions Action: [Add doc to the multi-scan list]
INFO   paperwork.frontend.util.actions Action: [Doc selected in multi-scan list]
INFO   paperwork.frontend.util.actions Action: [Doc selected in multi-scan list]
INFO   paperwork.frontend.util.actions Action: [End doc edit in multi-scan list]
INFO   paperwork.frontend.util.actions Action: [Start multi-scan]
INFO   paperwork.frontend.util.config Will scan using brother4:net1;dev0
INFO   paperwork.frontend.util.config Will scan at a resolution of 300
INFO   paperwork.frontend.util.scanner Setting scanner option 'source' to 'Automatic Document Feeder(left aligned)'
WARNING paperwork.frontend.util.config Unable to set scanner mode ! May be 'Lineart'
INFO   paperwork.frontend.util.canvas Animators: 1
INFO   paperwork.frontend.util.canvas Animators: 2
INFO   paperwork.frontend.mainwindow  Doc is already shown
INFO   paperwork.frontend.mainwindow  Showing document 20140814_2223_36
INFO   paperwork.frontend.util.canvas Animators: 0
INFO   paperwork.frontend.util.canvas Animators: 1
INFO   root                           Showing page Dummy page
INFO   paperwork.frontend.util.progressivelist List 'pages' : 0 elements displayed (0 additionnal)
INFO   paperwork.frontend.mainwindow.scan Scan started
INFO   paperwork.frontend.util.canvas.drawers Drawer: Target area: (287, 0) ((589, 846)) << (367, 1) ((439, 599))
INFO   paperwork.frontend.mainwindow.scan Scan done
INFO   paperwork.frontend.mainwindow.scan Will use tool 'Tesseract'
INFO   paperwork.frontend.mainwindow.scan Starting OCR on angle 0
INFO   paperwork.frontend.mainwindow.scan Running OCR on page orientation 0
INFO   paperwork.frontend.mainwindow.scan Animator: Angle 0: (367, 1) (439, 599) -> (155, 20) (270, 383)
INFO   paperwork.frontend.mainwindow.scan Animator: Angle 90: (367, 1) (439, 599) -> (737, 20) (270, 383)
INFO   paperwork.frontend.mainwindow.scan Animator: Angle 180: (367, 1) (439, 599) -> (155, 443) (270, 383)
INFO   paperwork.frontend.mainwindow.scan Animator: Angle 270: (367, 1) (439, 599) -> (737, 443) (270, 383)
INFO   paperwork.frontend.mainwindow.scan Evaluating score of page orientation (0) using method 'spell_checker' ...
INFO   paperwork.frontend.mainwindow.scan OCR done on angle 0: 19050.000000
INFO   paperwork.frontend.mainwindow.scan Best: 19050.000000
WARNING paperwork.frontend.util.jobs   Job OCR:0 took 18362ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.mainwindow  Showing document 20140814_2223_36
INFO   paperwork.frontend.util.canvas Animators: 0
INFO   root                           Showing page 20140814_2223_36 p1
INFO   paperwork.frontend.util.progressivelist List 'pages' : 1 elements displayed (1 additionnal)
INFO   root                           Showing page 20140814_2223_36 p1
INFO   paperwork.frontend.util.actions Action: [Show a page (selected from the page thumbnail list)]
INFO   paperwork.frontend.util.progressivelist List 'pages' : 1 elements displayed (1 additionnal)
INFO   paperwork.frontend.mainwindow  Image view port resized. (1163, 846) --> (1159, 846)
INFO   root                           Showing page 20140814_2223_36 p1
INFO   paperwork.frontend.util.canvas Animators: 1
INFO   paperwork.frontend.mainwindow  Doc is already shown
INFO   paperwork.frontend.mainwindow  Showing document 20140814_2223_36
INFO   paperwork.frontend.util.canvas Animators: 0
INFO   paperwork.frontend.util.canvas Animators: 1
INFO   root                           Showing page 20140814_2223_36 p1
INFO   paperwork.frontend.util.actions Action: [Show a page (selected from the page thumbnail list)]
INFO   paperwork.frontend.util.progressivelist List 'pages' : 1 elements displayed (1 additionnal)
INFO   paperwork.frontend.mainwindow.scan Scan started
INFO   paperwork.frontend.util.canvas.drawers Drawer: Target area: (285, 1632) ((589, 846)) << (365, 1633) ((439, 599))
ERROR  paperwork.frontend.util.jobs   ===> Job Scan:0 raised an exception: <type 'exceptions.StopIteration'>: 
ERROR  paperwork.frontend.util.jobs    0: build/bdist.linux-x86_64/egg/paperwork/frontend/util/jobs.py: L  178: _run
ERROR  paperwork.frontend.util.jobs    1: build/bdist.linux-x86_64/egg/paperwork/frontend/mainwindow/scan.py: L   88: do
ERROR  paperwork.frontend.util.jobs    2: build/bdist.linux-x86_64/egg/pyinsane/abstract_th.py: L  145: read
ERROR  paperwork.frontend.util.jobs    3: build/bdist.linux-x86_64/egg/pyinsane/abstract_th.py: L   58: wait
ERROR  paperwork.frontend.util.jobs   ---> Job Scan:0 was started by:
ERROR  paperwork.frontend.util.jobs    0: /usr/local/bin/paperwork: L    5: <module>
ERROR  paperwork.frontend.util.jobs    1: /usr/lib/python2.7/dist-packages/pkg_resources.py: L  528: run_script
ERROR  paperwork.frontend.util.jobs    2: /usr/lib/python2.7/dist-packages/pkg_resources.py: L 1401: run_script
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_testing-py2.7.egg/EGG-INFO/scripts/paperwork: L    6: <module>
ERROR  paperwork.frontend.util.jobs    4: build/bdist.linux-x86_64/egg/paperwork/paperwork.py: L  102: main
ERROR  paperwork.frontend.util.jobs    5: build/bdist.linux-x86_64/egg/paperwork/frontend/multiscan/scan.py: L  103: start_scan_workflow
ERROR  paperwork.frontend.util.jobs    6: build/bdist.linux-x86_64/egg/paperwork/frontend/mainwindow/scan.py: L  885: scan_and_ocr
ERROR  paperwork.frontend.util.jobs    7: build/bdist.linux-x86_64/egg/paperwork/frontend/mainwindow/scan.py: L  809: scan
ERROR  paperwork.frontend.util.jobs    8: build/bdist.linux-x86_64/egg/paperwork/frontend/util/jobs.py: L  247: schedule
ERROR  paperwork.frontend.multiscan.scan Scan failed: 
INFO   paperwork.frontend.util.progressivelist List 'pages' : 1 elements displayed (1 additionnal)
WARNING paperwork.frontend.multiscan   Scan failed: 
INFO   paperwork.frontend.multiscan   Scan job cancelled
/usr/local/lib/python2.7/dist-packages/paperwork-0.2_testing-py2.7.egg/paperwork/frontend/multiscan/__init__.py:408: PyGTKDeprecationWarning: Using positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "parent" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
/usr/local/lib/python2.7/dist-packages/paperwork-0.2_testing-py2.7.egg/paperwork/frontend/multiscan/__init__.py:408: PyGTKDeprecationWarning: The keyword(s) "message_format" have been deprecated in favor of "text" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
/usr/local/lib/python2.7/dist-packages/paperwork-0.2_testing-py2.7.egg/paperwork/frontend/multiscan/__init__.py:408: PyGTKDeprecationWarning: The "flags" argument for dialog construction is deprecated. Please use initializer keywords: modal=True and/or destroy_with_parent=True. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:500: PyGTKDeprecationWarning: The keyword(s) "parent" have been deprecated in favor of "transient_for" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecations
  self._init(*args, **new_kwargs)
INFO   paperwork.backend.docsearch    Fitting estimator with doc: 20140814_2223_36 
INFO   paperwork.backend.docsearch    Indexing new doc: 20140814_2223_36
INFO   paperwork.backend.docsearch    Fitting estimator with doc: 20140814_2223_36 
INFO   paperwork.backend.docsearch    Index: Commiting changes and saving estimators
INFO   paperwork.backend.docsearch    Index: Reloading ...
INFO   paperwork.frontend.mainwindow  Search: 
INFO   paperwork.frontend.util.actions Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.util.progressivelist List 'documents' : 32 elements displayed (32 additionnal)
INFO   paperwork.frontend.multiscan   Multi-scan dialog destroyed

Do you know what I can do to get recto-verso documents correctly scanned by paperwork ?

Thanks in advance. Best regards, Bernard

jflesch commented 10 years ago

Hm, looks like Paperwork needs to set another option for Duplex scanners.

Can you run the following commands and give me the ouput please ?

wget https://raw.githubusercontent.com/jflesch/pyinsane/master/examples/list_all.py -O /tmp/list_all.py
python /tmp/list_all.py
nbremond77 commented 10 years ago

Thanks for our reply. Here is the result of the python /tmp/list_all.py

nbremond@multimedia ~/git/paperwork $ python /tmp/list_all.py
Scanner 'brother4:net1;dev0' (Brother, MFC-J6920DW, MFC-J6920DW)
  Option: brightness
    Title: Brightness
    Desc: Controls the brightness of the acquired image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Percent (5)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-3276800, 3276800, 65536)
    Value: Failed to get the value: Option 'brightness' is not active
  Option: tl-y
    Title: Top-left y
    Desc: Top-left y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 27525120, 6553)
    Value: 0
  Option: tl-x
    Title: Top-left x
    Desc: Top-left x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19464192, 6553)
    Value: 0
  Option: br-y
    Title: Bottom-right y
    Desc: Bottom-right y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 27525120, 6553)
    Value: 27525120
  Option: br-x
    Title: Bottom-right x
    Desc: Bottom-right x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19464192, 6553)
    Value: 19464192
  Option: source
    Title: Scan source
    Desc: Selects the scan source (such as a document-feeder).
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 64
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['FlatBed', 'Automatic Document Feeder(left aligned)', 'Automatic Document Feeder(left aligned,Duplex)', 'Automatic Document Feeder(centrally aligned)', 'Automatic Document Feeder(centrally aligned,Duplex)']
    Value: Automatic Document Feeder(left aligned)
  Option: mode
    Title: Scan mode
    Desc: Select the scan mode
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 30
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Black & White', 'Gray[Error Diffusion]', 'True Gray', '24bit Color[Fast]']
    Value: 24bit Color[Fast]
  Option: resolution
    Title: Scan resolution
    Desc: Sets the resolution of the scanned image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Dpi (4)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Word list (2)
    Constraint: [100, 150, 200, 300, 400, 600, 1200, 2400, 4800, 9600]
    Value: 200
  Option: contrast
    Title: Contrast
    Desc: Controls the contrast of the acquired image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Percent (5)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-3276800, 3276800, 65536)
    Value: Failed to get the value: Option 'contrast' is not active

Scanner 'epson2:libusb:002:002' (Epson, GT-8300, flatbed scanner)
  Option: tl-y
    Title: Top-left y
    Desc: Top-left y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19475988, 0)
    Value: 0
  Option: tl-x
    Title: Top-left x
    Desc: Top-left x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 14149222, 0)
    Value: 0
  Option: sharpness
    Title: Sharpness
    Desc: 
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-2, 2, 0)
    Value: 0
  Option: cct-type
    Title: CCT Profile Type
    Desc: Color correction profile type
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 21
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Automatic', 'Reflective', 'Colour negatives', 'Monochrome negatives', 'Colour positives']
    Value: Failed to get the value: Option 'cct-type' is not active
  Option: mirror
    Title: Mirror image
    Desc: Mirror the image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: threshold
    Title: Threshold
    Desc: Select minimum-brightness to get a white point
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: 128
  Option: adf-mode
    Title: ADF Mode
    Desc: Selects the ADF mode (simplex/duplex)
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Simplex', 'Duplex']
    Value: Failed to get the value: Option 'adf-mode' is not active
  Option: color-correction
    Title: Color correction
    Desc: Sets the color correction table for the selected output device.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 25
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['None', 'Built in CCT profile', 'User defined CCT profile']
    Value: Built in CCT profile
  Option: cct-profile
    Title: CCT Profile
    Desc: Color correction profile data
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 36
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-131072, 131072, 0)
    Value: 0
  Option: source
    Title: Scan source
    Desc: Selects the scan source (such as a document-feeder).
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 18
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Flatbed', 'Transparency Unit']
    Value: Flatbed
  Option: preview
    Title: Preview
    Desc: Request a preview-quality scan.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: focus-position
    Title: Focus Position
    Desc: Sets the focus position to either the glass or 2.5mm above the glass
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 24
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Focus on glass', 'Focus 2.5mm above glass']
    Value: Focus on glass
  Option: halftoning
    Title: Halftoning
    Desc: Selects the halftone.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 26
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['None', 'Halftone A (Hard Tone)', 'Halftone B (Soft Tone)', 'Halftone C (Net Screen)', 'Dither A (4x4 Bayer)', 'Dither B (4x4 Spiral)', 'Dither C (4x4 Net Screen)', 'Dither D (8x4 Net Screen)', 'Text Enhanced Technology', 'Download pattern A', 'Download pattern B']
    Value: Halftone A (Hard Tone)
  Option: film-type
    Title: Film type
    Desc: 
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 15
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Positive Film', 'Negative Film', 'Positive Slide', 'Negative Slide']
    Value: Failed to get the value: Option 'film-type' is not active
  Option: auto-eject
    Title: Auto eject
    Desc: Eject document after scanning
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: Option 'auto-eject' is not active
  Option: dropout
    Title: Dropout
    Desc: Selects the dropout.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 6
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['None', 'Red', 'Green', 'Blue']
    Value: None
  Option: green-gamma-table
    Title: Green intensity
    Desc: Gamma-correction table for the green band.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 1024
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: Failed to get the value: Option 'green-gamma-table' is not active
  Option: br-y
    Title: Bottom-right y
    Desc: Bottom-right y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19475988, 0)
    Value: 19475988
  Option: br-x
    Title: Bottom-right x
    Desc: Bottom-right x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 14149222, 0)
    Value: 14149222
  Option: auto-area-segmentation
    Title: Auto area segmentation
    Desc: Enables different dithering modes in image and text areas
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 1
  Option: wait-for-button
    Title: Wait for Button
    Desc: After sending the scan command, wait until the button on the scanner is pressed to actually start the scan process.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: blue-gamma-table
    Title: Blue intensity
    Desc: Gamma-correction table for the blue band.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 1024
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: Failed to get the value: Option 'blue-gamma-table' is not active
  Option: brightness
    Title: Brightness
    Desc: Selects the brightness.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-4, 3, 0)
    Value: 0
  Option: bay
    Title: Bay
    Desc: Select bay to scan
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 2
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['1', '2', '3', '4', '5', '6']
    Value: Failed to get the value: Option 'bay' is not active
  Option: depth
    Title: Bit depth
    Desc: Number of bits per sample, typical values are 1 for "line-art" and 8 for multibit scans.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Word list (2)
    Constraint: [16, 14, 12, 8]
    Value: Failed to get the value: Option 'depth' is not active
  Option: gamma-correction
    Title: Gamma Correction
    Desc: Selects the gamma correction value from a list of pre-defined devices or the user defined table, which can be downloaded to the scanner
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 23
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'User defined', 'High density printing', 'Low density printing', 'High contrast printing']
    Value: Default
  Option: mode
    Title: Scan mode
    Desc: Selects the scan mode (e.g., lineart, monochrome, or color).
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Lineart', 'Gray', 'Color']
    Value: Lineart
  Option: red-gamma-table
    Title: Red intensity
    Desc: Gamma-correction table for the red band.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 1024
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: Failed to get the value: Option 'red-gamma-table' is not active
  Option: resolution
    Title: Scan resolution
    Desc: Sets the resolution of the scanned image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Dpi (4)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Word list (2)
    Constraint: [50, 60, 72, 75, 80, 90, 100, 120, 133, 144, 150, 160, 175, 180, 200, 216, 240, 266, 300, 320, 350, 360, 400, 480, 600, 720, 800, 900, 1200, 1600, 1800, 2400, 3200, 6400, 9600, 12800]
    Value: 25

nbremond@multimedia ~/git/paperwork $ 

IMPORTANT: I have 2 scanners attached to my computer, the Brother multifunction we are talking about, and an Epson single side flatbed. The scanner to consider is the Brother one, at the begining of the report. This scanner scan the 2 sides in one run, and should output the two scan data in a raw, one after the other... I don't known in which format.

I hope this will help... If you need more test, please let me know... Best regards, Bernard.

jflesch commented 10 years ago

Ok got it:

Option: adf-mode
    Title: ADF Mode
    Desc: Selects the ADF mode (simplex/duplex)
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Simplex', 'Duplex']
    Value: Failed to get the value: Option 'adf-mode' is not active
nbremond77 commented 10 years ago

I'am not sure, because this option belong to the second part of the dump: concerning my second EPSON scanner not the Brother one. I think the second part of the dump is not relevant because I'am using the brother scanner with paperwork and not the Epson (the brother is duplex, not the epson...)

It looks like paperwork launch the scan, take back the data from the 1st page, and start the analysis... but maybee it should get also the data from the second page right away before starting the analysis. The scanner become available for other tasks (printig, faxing, scanning...) just after paperwork read the first page, and the data from the second page are propably lots at thi time....

I have rerun the dump just after runing paperwork in duplex mode... in case it changed something:

nbremond@multimedia ~/git/paperwork $ python /tmp/list_all.py
Scanner 'brother4:net1;dev0' (Brother, MFC-J6920DW, MFC-J6920DW)
  Option: brightness
    Title: Brightness
    Desc: Controls the brightness of the acquired image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Percent (5)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-3276800, 3276800, 65536)
    Value: Failed to get the value: Option 'brightness' is not active
  Option: tl-y
    Title: Top-left y
    Desc: Top-left y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 27525120, 6553)
    Value: 0
  Option: tl-x
    Title: Top-left x
    Desc: Top-left x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19464192, 6553)
    Value: 0
  Option: br-y
    Title: Bottom-right y
    Desc: Bottom-right y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 27525120, 6553)
    Value: 27525120
  Option: br-x
    Title: Bottom-right x
    Desc: Bottom-right x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19464192, 6553)
    Value: 19464192
  Option: source
    Title: Scan source
    Desc: Selects the scan source (such as a document-feeder).
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 64
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['FlatBed', 'Automatic Document Feeder(left aligned)', 'Automatic Document Feeder(left aligned,Duplex)', 'Automatic Document Feeder(centrally aligned)', 'Automatic Document Feeder(centrally aligned,Duplex)']
    Value: Automatic Document Feeder(left aligned)
  Option: mode
    Title: Scan mode
    Desc: Select the scan mode
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 30
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Black & White', 'Gray[Error Diffusion]', 'True Gray', '24bit Color[Fast]']
    Value: 24bit Color[Fast]
  Option: resolution
    Title: Scan resolution
    Desc: Sets the resolution of the scanned image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Dpi (4)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Word list (2)
    Constraint: [100, 150, 200, 300, 400, 600, 1200, 2400, 4800, 9600]
    Value: 200
  Option: contrast
    Title: Contrast
    Desc: Controls the contrast of the acquired image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Percent (5)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-3276800, 3276800, 65536)
    Value: Failed to get the value: Option 'contrast' is not active

Scanner 'epson2:libusb:002:002' (Epson, GT-8300, flatbed scanner)
  Option: tl-y
    Title: Top-left y
    Desc: Top-left y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19475988, 0)
    Value: 0
  Option: tl-x
    Title: Top-left x
    Desc: Top-left x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 14149222, 0)
    Value: 0
  Option: sharpness
    Title: Sharpness
    Desc: 
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-2, 2, 0)
    Value: 0
  Option: cct-type
    Title: CCT Profile Type
    Desc: Color correction profile type
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 21
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Automatic', 'Reflective', 'Colour negatives', 'Monochrome negatives', 'Colour positives']
    Value: Failed to get the value: Option 'cct-type' is not active
  Option: mirror
    Title: Mirror image
    Desc: Mirror the image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: threshold
    Title: Threshold
    Desc: Select minimum-brightness to get a white point
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: 128
  Option: adf-mode
    Title: ADF Mode
    Desc: Selects the ADF mode (simplex/duplex)
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Simplex', 'Duplex']
    Value: Failed to get the value: Option 'adf-mode' is not active
  Option: color-correction
    Title: Color correction
    Desc: Sets the color correction table for the selected output device.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 25
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['None', 'Built in CCT profile', 'User defined CCT profile']
    Value: Built in CCT profile
  Option: cct-profile
    Title: CCT Profile
    Desc: Color correction profile data
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 36
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-131072, 131072, 0)
    Value: 0
  Option: source
    Title: Scan source
    Desc: Selects the scan source (such as a document-feeder).
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 18
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Flatbed', 'Transparency Unit']
    Value: Flatbed
  Option: preview
    Title: Preview
    Desc: Request a preview-quality scan.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: focus-position
    Title: Focus Position
    Desc: Sets the focus position to either the glass or 2.5mm above the glass
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 24
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Focus on glass', 'Focus 2.5mm above glass']
    Value: Focus on glass
  Option: halftoning
    Title: Halftoning
    Desc: Selects the halftone.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 26
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['None', 'Halftone A (Hard Tone)', 'Halftone B (Soft Tone)', 'Halftone C (Net Screen)', 'Dither A (4x4 Bayer)', 'Dither B (4x4 Spiral)', 'Dither C (4x4 Net Screen)', 'Dither D (8x4 Net Screen)', 'Text Enhanced Technology', 'Download pattern A', 'Download pattern B']
    Value: Halftone A (Hard Tone)
  Option: film-type
    Title: Film type
    Desc: 
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 15
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Positive Film', 'Negative Film', 'Positive Slide', 'Negative Slide']
    Value: Failed to get the value: Option 'film-type' is not active
  Option: auto-eject
    Title: Auto eject
    Desc: Eject document after scanning
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: Option 'auto-eject' is not active
  Option: dropout
    Title: Dropout
    Desc: Selects the dropout.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 6
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['None', 'Red', 'Green', 'Blue']
    Value: None
  Option: green-gamma-table
    Title: Green intensity
    Desc: Gamma-correction table for the green band.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 1024
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: Failed to get the value: Option 'green-gamma-table' is not active
  Option: br-y
    Title: Bottom-right y
    Desc: Bottom-right y position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 19475988, 0)
    Value: 19475988
  Option: br-x
    Title: Bottom-right x
    Desc: Bottom-right x position of scan area.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 14149222, 0)
    Value: 14149222
  Option: auto-area-segmentation
    Title: Auto area segmentation
    Desc: Enables different dithering modes in image and text areas
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 1
  Option: wait-for-button
    Title: Wait for Button
    Desc: After sending the scan command, wait until the button on the scanner is pressed to actually start the scan process.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: blue-gamma-table
    Title: Blue intensity
    Desc: Gamma-correction table for the blue band.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 1024
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: Failed to get the value: Option 'blue-gamma-table' is not active
  Option: brightness
    Title: Brightness
    Desc: Selects the brightness.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-4, 3, 0)
    Value: 0
  Option: bay
    Title: Bay
    Desc: Select bay to scan
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 2
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['1', '2', '3', '4', '5', '6']
    Value: Failed to get the value: Option 'bay' is not active
  Option: depth
    Title: Bit depth
    Desc: Number of bits per sample, typical values are 1 for "line-art" and 8 for multibit scans.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Word list (2)
    Constraint: [16, 14, 12, 8]
    Value: Failed to get the value: Option 'depth' is not active
  Option: gamma-correction
    Title: Gamma Correction
    Desc: Selects the gamma correction value from a list of pre-defined devices or the user defined table, which can be downloaded to the scanner
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 23
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'User defined', 'High density printing', 'Low density printing', 'High contrast printing']
    Value: Default
  Option: mode
    Title: Scan mode
    Desc: Selects the scan mode (e.g., lineart, monochrome, or color).
    Type: <class 'pyinsane.rawapi.SaneValueType'> : String (3)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Lineart', 'Gray', 'Color']
    Value: Lineart
  Option: red-gamma-table
    Title: Red intensity
    Desc: Gamma-correction table for the red band.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : None (0)
    Size: 1024
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 0)
    Value: Failed to get the value: Option 'red-gamma-table' is not active
  Option: resolution
    Title: Scan resolution
    Desc: Sets the resolution of the scanned image.
    Type: <class 'pyinsane.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'pyinsane.rawapi.SaneUnit'> : Dpi (4)
    Size: 4
    Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : Word list (2)
    Constraint: [50, 60, 72, 75, 80, 90, 100, 120, 133, 144, 150, 160, 175, 180, 200, 216, 240, 266, 300, 320, 350, 360, 400, 480, 600, 720, 800, 900, 1200, 1600, 1800, 2400, 3200, 6400, 9600, 12800]
    Value: 25
jflesch commented 10 years ago

Darn, you are right, I looked at the wrong scanner. Unfortunately, I can't find anything in the documentation of Sane regarding duplex scanners :/ Can you first check it's actually supported by other applications like xsane or simple-scan please ?

nbremond77 commented 10 years ago

Hello Sorry for the delay... I've tried with XSANE 0.998 and it worked. Here is the configuration I have used: capture du 2014-08-21 20 16 21

And when I hit the "Numériser" button, I get 2 PDF files, one for the recto and one other for the verso. I would have prefered one pdf file with 2 pages, but I suppose this is how xsane works with pdf.

Is there any other information I could provide to help you ?

Best regards, Bernard.

jflesch commented 10 years ago

I think I found my mistake. The problem is that when you use the multiscan dialog of Paperwork, it always force the source to the first value that matches what looks like an ADF. I will fix that asap

jflesch commented 10 years ago

053b0af2d295dc0667a342438c0a2e4565c0f446 Please tell me if it works for you

nbremond77 commented 10 years ago

Hello. Thanks a lot. I ll try it as soon as i got back home later this week and i ll let you know. Best regards. Bernard.

On 21 septembre 2014 18:56:20 CEST, Jerome Flesch notifications@github.com wrote:

053b0af2d295dc0667a342438c0a2e4565c0f446 Please tell me if it works for you


Reply to this email directly or view it on GitHub: https://github.com/jflesch/paperwork/issues/318#issuecomment-56304870

Envoyé de mon téléphone Android avec K-9 Mail. Excusez la brièveté.

nbremond77 commented 10 years ago

Hello,

Thanks a lot for the patch, and sorry for the delay, I had to travel.

I tested it with my scanner (Brother MFC-J6920 multifunction scanner printer, dual side) and it worked fine. I was able to scan dual sided A4 pages in on click (almost). Paperwork is a little bit slow but it recognize the 2 sides and perform the OCR on them.

I think your patch corrected the issue.

If I can suggest an improvement,.. maybe you could add an "Number of pages:Auto" mode where paperwork will repeat dual side scanning as long as there is pages in the ADF...

By the way, I have a question: how paperwork behaves when a lot of documents have been scanned and are present in the document folder ?

Anyway, thanks a lot for your work on paperworfk. Best regards, Bernard Rémond

Le dimanche 21 septembre 2014 à 09:56 -0700, Jerome Flesch a écrit :

053b0af Please tell me if it works for you

— Reply to this email directly or view it on GitHub.

jflesch commented 10 years ago

Number of pages:Auto

Just put 9999 pages :)

By the way, I have a question: how paperwork behaves when a lot of documents have been scanned and are present in the document folder ?

I have 941 documents, and it works fine. Is there anything specific you want to know ?

Anyway, since this issue is solved, I'm closing this ticket.