SimulPiscator / AirSane

Publish SANE scanners to MacOS, Android, and Windows via Apple AirScan.
GNU General Public License v3.0
252 stars 26 forks source link

support for adf scanner #4

Closed victornet closed 3 years ago

victornet commented 6 years ago

Hi,

is it possible to add support for adf-scanners? (like canon p215, etc ?)

Regards, Simon

janengelmohr commented 6 years ago

Hey,

correct me if I'm wrong but since this is a SANE frontend you should probably ask SANE upstream :-)

Best regards, Jan

victornet commented 6 years ago

Hey,

the device is supported by sane:

# scanimage -L
device `canon_dr:libusb:001:003' is a CANON P-215 scanner

But after a few tests i'm asking me, if adf-scanners supported in general (by airsane).

If i use mac os image capture app i'm getting a communication error (-9923).

The device is listed on airsanes web page, preview scan works without any problem.. But adf-scanners work not like flatbed devices (paper feed, multiple pages etc).

I will do some further tests, since i'm not very experienced with sane.

Regards, Simon

victornet commented 5 years ago

Okay,

communication error solved (ipv6 issue).

Plain scan works now. But i don't know how to enable duplex scan:

airsaned output: [source] = "ADF Front" and there is no other option than "flatbed" in the webgui.

scanimage output:

Options specific to device `canon_dr:libusb:001:004':
  Standard:
    --source ADF Front|ADF Duplex|Card Front|Card Duplex [ADF Front]

Maybe somebody can give me a hint to get further.

Best regards, Simon

Update: These lines appears if i startup airsaned:

Nov 09 18:07:39 hyperion airsaned[1931]: [source] := "Automatic Document Feeder" -> Invalid argument
Nov 09 18:07:39 hyperion airsaned[1931]: [source] := "Flatbed" -> Invalid argument
Nov 09 18:07:39 hyperion airsaned[1931]: sane_close(0x7f2e1004d9c0)
Nov 09 18:07:39 hyperion airsaned[1931]: sane_exit()
SimulPiscator commented 5 years ago

Thanks for reporting this issue. I added some code to support ADF source names other than "Automatic Document Feeder".

Best, Juergen

SimulPiscator commented 4 years ago

Added code to report ADF state (empty, loaded, jam, cover open) to client via ScannerStatus XML. Hopefully, this improves scanning from ADFs.

elsiehupp commented 3 years ago

As best I can tell from from #45, Apple Image Capture doesn't compile multi-page scans via AirScan. At best, an AirScan scanner could perhaps send AIC a precompiled multi-page PDF, but I don't know if any native AirScan scanners actually do this. The place where AIC's approach collides with SANE is that SANE frontends generally expect the client application (that is, scanadf or AIC) to request multiple pages and take care of compiling them. Plausibly, AirSane could, when a scanner presents itself as having ADF and/or ADF duplex and the AirScan client requests a PDF, take care of the batch scanning itself, but that would be a pretty dramatic increase in scope from the way it works now.

SimulPiscator commented 3 years ago

At best, an AirScan scanner could perhaps send AIC a precompiled multi-page PDF, but I don't know if any native AirScan scanners actually do this.

No, this doesn't work. What actually happens is that AIC requests the Scan Job's NextDocument link, and keeps the received pages as individual scans, or, if scanning into a PDF and "collect into single document" is selected, combines them into a single PDF.

I've tested it with a modified version of the SANE test backend that reads the number of pages in the ADF from a file, rather than just counting. The modification was necessary because the standard version would just count pages while the scanner was open, which doesn't fit AirSane's model to open the scanner for each individual scan rather than keeping it open during a job.

elsiehupp commented 3 years ago

I don't understand what you're trying to say here. AirSane in its current form manifestly does not support batch scanning. Whatever you're doing isn't working, unless you changed something since I last tested it and neglected to mention it on the other Issue.

SimulPiscator commented 3 years ago

The other issue is closed.

Yes, I changed something, ADF jobs will now respond to requests for NextDocument until the ADF runs out of paper.

elsiehupp commented 3 years ago

@SimulPiscator Closing an issue without an explanation is not a particularly encouraging way of suggesting that the actual issue is, indeed, fixed. I say this based on practices I've observed on other GitHub projects.