Open fandomas opened 9 years ago
I don't have a scanner with two-sided scanning, so actually I cannot say. Try and tell me :)
i will let you know. Great project! Thank you very much. pyinsane works wonderful with Canon PIXMA MP210.
Unfortunately i can't find any way of scanning of both sides simultaneously even though the scanner support that. Its a wonderful API though. If anyone find a way of two-sided scanning please inform us here. thanks.
Just so I know, is there already others scanning software on Linux able to support two-sided scanning ?
Also, can you run the scripts example/list_all.py ? It will list all the options of all the scanner. Maybe the solution is here.
It works fine for me with duplex, and has for quite a while. I think the exact configuration is device-dependent, but for me:
scanner.options['source'].value = "ADF Duplex"
Unfortunately, I don't have the required hardware to test it myself. Also, @fandomas didn't report the output of example/list_all.py, so I can't even try to guess what must be done (if anything). So I will close this ticket for now. @fandomas > Please reopen if the solution indicated by @russss doesn't work for you.
Hi @jflesch
Following is the list_all.py output for me, the option "ADF Duplex" isn't working for me. Check out the bold option below which I see.
Option: source Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: ['0000\Root\Feeder'] Value: 0000\Root\Feeder
Have tried the three options here, but won't scan both the sides of page.
The scanner model is HP Scanjet Pro 3000 S3
properties = _rawapi.get_properties(dev_or_src) Pyinsane: WARNING: A property has a type different from the one expected C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py:116: RuntimeWarning: Pyinsane: WARNING: Got unknown clsid from driver constraints = _rawapi.get_constraints(dev_or_src) Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Constraint found on property [sti_driver_version] but property not found C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py:116: RuntimeWarning: Pyinsane: WARNING: Unknown var type for constraint constraints = _rawapi.get_constraints(dev_or_src) Pyinsane: WARNING: Unknown var type for constraint Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [preferred_format] Pyinsane: WARNING: A property has a type different from the one expected Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Constraint found on property [sti_driver_version] but property not found Pyinsane: WARNING: Unknown var type for constraint Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [preferred_format] Option 'current_intent' preset to 'image_type_color,maximize_quality' on ['HP ScanJet Pro 3000 s3 (USB)' (HP, HP ScanJet Pro 3000 s3 (USB), digital_camera,streaming_video)] Pyinsane: WARNING: A property has a type different from the one expected Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Constraint found on property [sti_driver_version] but property not found Pyinsane: WARNING: Unknown var type for constraint Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [preferred_format] Option 'format' preset to 'bmp' on ['HP ScanJet Pro 3000 s3 (USB)' (HP, HP ScanJet Pro 3000 s3 (USB), digital_camera,streaming_video)] Failed to pre-set option 'preferred_format' on ['HP ScanJet Pro 3000 s3 (USB)' (HP, HP ScanJet Pro 3000 s3 (USB), digital_camera,streaming_video)] C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py:127: RuntimeWarning: Pyinsane: WARNING: properties->WriteMultiple() failed ret = _rawapi.set_property(dev_or_src, propname, propvalue) Pyinsane: WARNING: properties->WriteMultiple() failed Pyinsane: WARNING: properties->WriteMultiple() failed: page_size : 0x80070057 Exception while setting page_size: WIA: Failed to set scanner properties WIA: Failed to set scanner properties Traceback (most recent call last): File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\abstract.py", line 186, in _set_value rawapi.set_property(obj, self.name, new_value) File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 134, in set_property propname=propname, propvalue=propvalue).wait() File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 34, in wait raise self.exception File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 39, in do self.result = self.func(self.kwargs) File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 129, in _set_property raise WIAException("Failed to set scanner properties") pyinsane2.wia.rawapi.WIAException: WIA: Failed to set scanner properties Pyinsane: WARNING: A property has a type different from the one expected Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Constraint found on property [sti_driver_version] but property not found Pyinsane: WARNING: Unknown var type for constraint Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [preferred_format] Failed to pre-set option 'page_size' on ['HP ScanJet Pro 3000 s3 (USB)' (HP, HP ScanJet Pro 3000 s3 (USB), digital_camera,streaming_video)] Pyinsane: WARNING: A property has a type different from the one expected Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Constraint found on property [sti_driver_version] but property not found Pyinsane: WARNING: Unknown var type for constraint Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [item_category] Pyinsane: WARNING: Got unknown clsid from driver Pyinsane: Failed to parse constraint of [preferred_format] Option 'depth' preset to '24' on ['HP ScanJet Pro 3000 s3 (USB)' (HP, HP ScanJet Pro 3000 s3 (USB), digital_camera,streaming_video)] C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py:72: RuntimeWarning: Pyinsane: WARNING: WiaDevMgr->CreateDevice() failed out = _rawapi.open(devid) Pyinsane: WARNING: WiaDevMgr->CreateDevice() failed Failed to access scanner ('{6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0001', 'HP ScanJet Flow 5000 s4 (USB)') : WIA: Failed to open {6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0001 WIA: Failed to open {6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0001 Traceback (most recent call last): File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\abstract.py", line 567, in get_devices scanner = Scanner(dev[0]) File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\abstract.py", line 413, in init self._dev = rawapi.open(name) File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 79, in open return WiaAction(_open, devid=devid).wait() File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 34, in wait raise self.exception File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 39, in do self.result = self.func(self.kwargs) File "C:\Python34\lib\site-packages\pyinsane2-2.0.10-py3.4-win-amd64.egg\pyinsane2\wia\rawapi.py", line 74, in _open raise WIAException("Failed to open {}".format(devid)) pyinsane2.wia.rawapi.WIAException: WIA: Failed to open {6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0001 'HP ScanJet Pro 3000 s3 (USB)' (HP, HP ScanJet Pro 3000 s3 (USB), digital_camera,streaming_video) Option: yextent Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (32, 36600) Value: 36600 Option: optical_xres Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 600 Option: preview Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [0, 0, 1] Value: final_scan Option: port_name Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: \.\Usbscan0 Option: compression Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [0, 0, 2, 5] Value: none Option: tl-x Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 2550) Value: 0 Option: min_vertical_size Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 107 Option: sti_gen_capabilities Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 49 Option: mode Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: ['Color', 'Gray', 'BW'] Value: Color Option: hw_config Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: ['generic', 'scsi', 'usb', 'serial', 'parallel'] Value: 0 Option: access_rights Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: ['read', 'write', 'can_be_deleted', 'read_can_be_deleted', 'read_write_can_be_deleted'] Value: read,write,read_can_be_deleted,read_write_can_be_deleted Option: full_item_name Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 0000\Root\Feeder Option: xres Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [8, 75, 150, 200, 200, 240, 300, 400, 500, 600] Value: 300 Option: bytes_per_line Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 7652 Option: item_name Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: Feeder Option: format Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: ['bmp', 'ciff', 'exif', 'flashpix', 'gif', 'ico', 'jbig', 'jpeg', 'jpeg2k', 'jpeg2kx', 'memorybmp', 'pdfa', 'photocd', 'pict', 'png', 'raw', 'rawrgb', 'tiff'] Value: bmp Option: threshold Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 128) Value: 128 Option: dev_id Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: {6BDD1FC6-810F-11D0-BEC7-08002BE2092F}\0000 Option: filename_extension Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: bmp Option: source Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: ['0000\Root\Feeder'] Value: 0000\Root\Feeder Option: photometric_interp Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [0, 0, 1] Value: white_1 Option: contrast Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (-1000, 0) Value: 0 Option: number_of_lines Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 36600 Option: preferred_format Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: ['bmp', 'ciff', 'exif', 'flashpix', 'gif', 'ico', 'jbig', 'jpeg', 'jpeg2k', 'jpeg2kx', 'memorybmp', 'pdfa', 'photocd', 'pict', 'png', 'raw', 'rawrgb', 'tiff'] Value: bmp Option: optical_yres Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 600 Option: document_handling_select Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [32, 36] Value: front_only Option: max_vertical_size Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 122000 Option: pages Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 1) Value: 1 Option: pixels_per_line Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 2550 Option: document_handling_status Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: ['feed_ready', 'flat_ready', 'dup_ready', 'flat_cover_up', 'path_cover_up', 'paper_jam', 'film_tpa_ready', 'storage_ready', 'storage_full', 'multiple_feed', 'device_attention', 'lamp_err'] Value: 0 Option: user_name Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: DESKTOP-L060A5J\Ankur Pandey Value: DESKTOP-L060A5J\Ankur Pandey Option: planar Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: pixel Value: pixel Option: pnp_id Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: \?\usb#vid_03f0&pid_5605&mi_00#6&3324a881&0&0000#{6bdd1fc6-810f-11d0-bec7-08002be2092f} Option: yres Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [8, 75, 150, 200, 200, 240, 300, 400, 500, 600] Value: 300 Option: resolution Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [8, 75, 150, 200, 200, 240, 300, 400, 500, 600] Value: 300 Option: ui_clsid Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: {4DB1AD10-3391-11D2-9A33-00C04FA36145} Option: item_category Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: ['root', 'flatbed', 'feeder', 'feeder_front', 'feeder_back', 'film', 'folder', 'finished_file'] Value: feeder Option: brightness Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (-1000, 0) Value: 0 Option: driver_version Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 41.0.680.26008 Option: buffer_size Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 262144 Option: br-y Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 36600) Value: 36600 Option: tl-y Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 36600) Value: 0 Option: xpos Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 0) Value: 0 Option: wia_version Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 2.0 Option: vend_desc Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: HP Option: sheet_feeder_registration Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: left_justified Value: centered Option: dev_name Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: HP ScanJet Pro 3000 s3 (USB) Option: page_height Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 122000 Option: item_size Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 0 Option: item_flags Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: free Value: file,image,programmable_data_source,transfer Option: page_width Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 8500 Option: current_intent Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [0, 196615] Value: image_type_color,image_type_mask,maximize_quality,size_mask Option: dev_type Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: default Value: digital_camera,streaming_video Option: xextent Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (32, 2550) Value: 2550 Option: firmware_version Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 1.0.na Option: server_name Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: local Option: tymed Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [1, 2, 2] Value: file Option: datatype Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [0, 2, 3, 3, 3] Value: color Option: max_horizontal_size Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 8500 Option: orientation Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [0, 0, 1] Value: portrait Option: min_horizontal_size Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 107 Option: bits_per_channel Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 8 Option: document_handling_capabilities Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: ['auto_source', 'dup', 'detect_film_tpa', 'detect_stor', 'film_tpa', 'stor', 'detect_feed', 'detect_flat', 'detect_scan', 'dup', 'feed', 'flat', 'detect_dup', 'detect_dup_avail', 'detect_feed_avail'] Value: dup,feed Option: page_size Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [1, 2, 2] Value: custom Option: ypos Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 0) Value: 0 Option: icm_profile_name Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: ['', 'sRGB Color Space Profile.icm', 'sRGB Color Space Profile.icm'] Value: sRGB Color Space Profile.icm Option: depth Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: [1, 3, 8, 24, 24] Value: 24 Option: baudrate Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: Option: br-x Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: rw Constraint type: None Constraint: (0, 2550) Value: 2550 Option: channels_per_pixel Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: 3 Option: remote_dev_id Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: Option: dev_desc Title: Desc: Type: None Unit: None Size: 4 Capabilities: Access: ro Constraint type: None Constraint: None Value: HP ScanJet Pro 3000 s3 (USB)
@yuyudhan the thing is, you're using Windows, while @russss is using Linux.
@yuyudhan : when you say "the option "ADF Duplex" isn't working for me.", you mean it doesn't scan at all, it scans only the recto side of pages, or something else ?
I'm actually using a Mac but I'd guess the option depends more on the driver than on the OS. My scanner is a Fujitsu.
Looks like 0000\Root\Feeder
is one option and the only one it's presenting though?
Can you run sane's scanimage
tool from the command line? Mine lists the options when I call scanimage --help
:
Options specific to device `epjitsu:libusb:001:015-04c5-11ed-ff-ff':
Scan Mode:
--source ADF Front|ADF Back|ADF Duplex [ADF Front]
Selects the scan source (such as a document-feeder).
For completeness, this is what list_all.py
gives me for the source option:
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: 11
Capabilities: <class 'pyinsane.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
Constraint type: <class 'pyinsane.rawapi.SaneConstraintType'> : String list (3)
Constraint: ['ADF Front', 'ADF Back', 'ADF Duplex']
Value: ADF Front
0000\Root\Feeder
is clearly a WIA source (Windows), not a Sane one (Linux, MacOSX, BSD, etc), so he doesn't have scanimage
.
I have this feeling that duplex support will be quite different between WIA and Sane .. :/
Ah. I've got nothing then. But my suspicion is that the "ADF Duplex" thing is specific to the epjitsu SANE driver.
Quite possible. I believe that some other sane drivers have another extra option instead of extra values for source
. I'll check later.
I'll also have to look at the WIA examples to figure out how it's supposed to work on Windows.
Anyway, I think duplex support will wait for the new library (I'm going to replace pyinsane by a brand new and shiny C library).
Does support scanners (probably an ADF type) for simultaneous two-sided scanning? Great project btw!
Thanks.