paperwork icon indicating copy to clipboard operation
paperwork copied to clipboard

Android viewer

Open jflesch opened this issue 12 years ago • 18 comments

I've won an Android tablet during a programming competition. Now I need something useful to do with it. I guess porting Paperwork is the logical choice.

  1. Gtk is not available on Android --> a specific frontend will have to be made
  2. Scanners and printers are not (yet) available on Android. So this will just be a viewer

The hard part: Getting the dependency to work on Android. Afaik, most Gobject introspection won't be avaible ... this won't be easy.

Update (2016/12/06): Would also be strongly wishable: encryption

jflesch avatar May 31 '13 18:05 jflesch

I have a feeling it would be easier to actually run Debian on my tablet ... :)

jflesch avatar May 31 '13 19:05 jflesch

You could use the camera instead of a scanner. The quality will be worse, but it may not be a problem. Kivy looks promising for a python UI, and is multiplateform.

Nodd avatar Jun 25 '13 15:06 Nodd

Let's start with a viewer, and let's see later to add photo+OCR support.

jflesch avatar Jun 25 '13 15:06 jflesch

Note to myself: https://github.com/kivy/python-for-android

jflesch avatar Jul 02 '13 15:07 jflesch

Dependencies:

  • PIL/Pillow: There is already a recipe to compile PIL included in python-for-android
  • Whoosh : Whoosh is pure python. It shouldn't be much of a problem
  • Nltk : Nltk seems to be also pure python.
  • Libpoppler is the hardest : It is a C++ library. Currently it is accessed through Gobject introspection. However, GObject introspection depends on the Glib.

All the other dependencies can be made optional.

In the end, using Libpoppler on Android will probably end up being a big mess. It would probably be easier to make a recipe for http://www.mupdf.com/ + use ctypes

jflesch avatar Jul 02 '13 16:07 jflesch

  1. Gtk is not available on Android --> a specific frontend will have to be made we should not use Gobject/glib in backend, and use http://effbot.org/imagingbook/format-pdf.htm , anyway, we could have many format backend with smart depedancies.
  2. Scanners and printers are not (yet) available on Android. So this will just be a viewer => RESTful API https://github.com/jflesch/paperwork/issues/265 and js UI would solve both : you could have paperwork backend running on a host and connect it through webbrowser.

bignaux avatar Dec 07 '13 02:12 bignaux

you could have paperwork backend running on a host and connect it through webbrowser.

Definitively not what I had in mind or even what I want. What I want here is a Paperwork instance running on Android, with all the data stored on the devices itself.

jflesch avatar Dec 08 '13 13:12 jflesch

Some papers are received by mail, so paperwork on android should be able to import existing documents even without scanners or printers.

Nodd avatar Dec 09 '13 09:12 Nodd

This ticket is about a viewer only. I'll see later to extend its functionalities.

jflesch avatar Dec 09 '13 09:12 jflesch

Depends on #328

jflesch avatar Feb 04 '15 07:02 jflesch

Kschwank has started working on one (Java): https://github.com/kschwank/paperwork-viewer

jflesch avatar Feb 08 '15 20:02 jflesch

In case someone is interested, I wrote a Web viewer, and I checked that it renders well on my Android phone: http://yalis.fr/cms/index.php/post/2016/01/21/Command-line-and-Web-Interface-for-Paperwork Cheers,

tYYGH avatar Jan 21 '16 22:01 tYYGH

@kschwank started to work on an Android viewer a while ago. However, I'm not sure if he still intend to work on it.

Also, it's pure Java and therefore cannot use paperwork-backend. If the backend part evolves, it would have to keep up.

I would really prefer an implementation made in Python as much as possible (see Pyjnius and friends)

jflesch avatar Dec 06 '16 15:12 jflesch

Support for encryption would also be a really good thing. Android can encrypt all the data of the users, but it makes the devices really slow. Just having Paperwork's documents encrypted would be safe enough and good to have.

jflesch avatar Dec 06 '16 15:12 jflesch

I had a look at various benchmarks and tried it myself. While encryption makes the disk access slower, it does not seem to be really visible to the user. --> Android's encryption will be good enough --> Less work for Paperwork for Android :-)

jflesch avatar Feb 28 '17 11:02 jflesch

Unrelated to the viewer : https://github.com/ctodobom/OpenNoteScanner demonstrates some really interesting algorithms. Maybe phone cameras could actually be used reliably as paper scanners.

jflesch avatar Nov 07 '17 08:11 jflesch

Note to myself: http://modrana.org/pyconpl2013/python_and_qt_for_android.pdf

jflesch avatar Dec 12 '17 14:12 jflesch

Note to myself: https://github.com/vipul-sharma20/document-scanner

jflesch avatar Feb 08 '18 23:02 jflesch