sbs20 / scanservjs

SANE scanner nodejs web ui
https://sbs20.github.io/scanservjs/
GNU General Public License v2.0
749 stars 145 forks source link

Allow to configure document feeder #477

Open davidclaeysquinones opened 1 year ago

davidclaeysquinones commented 1 year ago

Bug description I have a HP Envy Pro 6442 that I setup with this awesome software. This Printer/Scanner has a flatbed scanner and a document feeder.

image image

Like you can see in the screenshot when I choose the flatbed (which has no document feeder) I still can choose an automatic document feeder in the UI. When I use this combination the printer chrashes and I need to reboot it.

The same happens when I choose the document feeder as a source and try to use a manual batch option.

Proposal I assume that auto discovering this for every scanner is way out-of scope. Although this would be terrefic. It's probably more feasable to allow to configure this behaviour in the device settings.

torwag commented 1 year ago

If I understood @sbs20 right, the trouble with automatic recognition is that each and every scanner can report its' abilities slightly different. It is basically a giant string with different keywords and possible settings. I guess, it would be a pain to maintain a system to handle each and every scanner correct.

However, in the config file, we have already the ability to reconfigure the found devices. Maybe there could be additional options for the user to activate or deactivate certain functions of the UI element for each scanner.

Then it would be up to the user, to get it right for their particular scanner pool.

davidclaeysquinones commented 1 year ago

Automatic discovery would be nice but as you say it's also a pain. So maybe the config file would be a nice place to store this information. Until now I don't dare to show the application to the end users due to the chance of the scanner locking up and causing me trouble. However I could test my scanner and put the correct parameters in a config file.

Without the intention of doing auto promotion I made a brief setup guide and would like to modify it once this feature is implemented (if you decide so ofc).

sbs20 commented 1 year ago

I promise I'm thinking about this. And I want to do it. If only there were more time...!

PS Nice blog post

davidclaeysquinones commented 1 year ago

In order to keep things simple I would suggest keeping the default behavior (when no specific configuration is supplied) as is. Only when configuration entries for the scanner source I would filter the capabilities and resolutions out.

{sources: 
[
 {
Id: "ADF"
Name: "Document feeder",
batches: ["AutoWithFeeder"]
resulutions: []
}
]}

This a rough idea, since I'm writing on my phone my formatting is al over the place but I think the idea is kinda clear. Also if you could me give an idea on where to start I'm willing to try and write some code in my spare time.