I also run scanimage under script otherwise I don't get the continuous output.
On Sat, Sep 30, 2017 at 6:09 PM, Jeff Sadowski <jeff.sadow...@gmail.com> wrote: > Thank you for the input. > > I'm redoing phpsane. I'll look at the others but I came up with a method > that seems to work a little better then I have seen so far. Like I > mentioned I'm using proc_open in a process that I put in the background and > to allow me to watch the image as it is being pulled. I am pulling the > selection interface I saw on phpsane. I talked to the developer of phpsane > and he suggested I rebuild it. I can successfully pull scanner specific > options and create a custom option list for them. I'll add the option to > stop and try it out. But I will caution other users on that. I will cache > options and scanner returns to speed things up. > > I was even successful at allowing an array input in html :-) > > On Sat, Sep 30, 2017 at 3:16 PM, Jeff <jf...@posteo.net> wrote: > >> On 29/09/17 15:52, Jeff Sadowski wrote: >> > I am developing a php interface I'm calling it php saneng I have it on >> > bitbucket for now and using proc_open. I will send the signal via >> >> You are not the first. Have you looked at >> https://sourceforge.net/projects/phpsane/ or >> https://github.com/anomen-s/php-sane or https://github.com/sbs20/scanserv >> ? >> >> I should probably point a few things before you continue down the dark >> path of making a wrapper around scanimage. >> >> When I started writing gscan2pdf back in 2006, it was exactly that, a >> Gtk2 wrapper around scanimage, written in Perl. >> >> It seemed like a good idea to wrap scanimage at the time, but it quickly >> became clear that the problem is that you have no way of handling option >> reloads. You can make it work for one scanner easily enough, but in a >> general sense, it is impossible. >> >> You are completely at the whim of the backend if an option, e.g. source >> or depth, option force a reload. And they do, which changes unexpected >> things. For instance some scanners support one page size (i.e. scan >> size) for flatbed, and another for ADF. >> >> You can work around this by calling scanimage [extra options] --help >> every time the user changes an option, but this will be slow. You can >> make it quicker by caching the options, but this is error-prone. >> >> You will find that because of this, the order in which the options are >> set is vitally important. i.e. for the above example, you have to set >> the source option before the geometry options, as the range of geometry >> options is changed by source. And confusingly, some backends have >> different names for the same options. >> >> In the end, I wrote Perl bindings for the SANE API. This solved all of >> the above problems, as you then get reload callbacks: >> >> http://search.cpan.org/~ratcliffe/Image-Sane-0.14/ >> >> However, it is non-trivial. Here is a tutorial on writing PHP extensions >> in C: >> >> http://web.archive.org/web/20110222035803/http://devzone.zen >> d.com/article/1021 >> >> Good luck. >> >> Regards >> >> Jeff >> >> >> -- >> sane-devel mailing list: sane-devel@lists.alioth.debian.org >> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel >> Unsubscribe: Send mail with subject "unsubscribe your_password" >> to sane-devel-requ...@lists.alioth.debian.org >> > >
-- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject "unsubscribe your_password" to sane-devel-requ...@lists.alioth.debian.org