Giter Site home page Giter Site logo

ethereal-developers / openscan Goto Github PK

View Code? Open in Web Editor NEW
1.4K 24.0 81.0 193.27 MB

A privacy-friendly Document Scanner app

License: BSD 3-Clause "New" or "Revised" License

Kotlin 0.01% Swift 0.01% Objective-C 0.17% Dart 2.26% Java 19.47% Makefile 2.07% C++ 65.39% CMake 5.00% C 5.62% AIDL 0.02%
privacy android-app document open-source scanner-app

openscan's Introduction

OpenScan

An open source app that enables users to scan hardcopies of documents or notes and convert it to a PDF file. No ads. No data collection. We respect your privacy.

PSA

OpenScan was delisted from the Play Store because a dependency had an unnecessary permission to request installing other apps (Request Install Packages Permission). We are working on getting it relisted.

However, the app remains available on IzzyOnDroid.


Get it on Google Play

Get it on IzzyOnDroid

(Build instructions present at the bottom of the file)

About this app

Our open source document scanner app will enable you to scan anything (official documents, notes, photos, business cards, etc.) and convert it into a PDF file and share it via any messaging app that allows it.

Why use this app? Sometimes, you require to scan several documents and share them in this fast-paced professional world. Maybe, you want to scan and store your receipts and billing information for filing taxes. In this day and age, we look for not only ease of use in technology, but also apps which respect our data privacy and apps which doesn't force ads on our screen every other second.

We bring you OpenScan, an app which respects your privacy coupled with comprehensive and beautiful user interface and a flawless user experience.

We differentiate our self from the rest of the apps in the market by:

  1. Open Sourcing our app
  2. Respecting your data privacy

KEY FEATURES

  • Scan your documents, notes, business cards.
  • Simple and powerful cropping features.
  • Share as PDF/JPGs.

WORK PRODUCTIVITY:

  • Increase your office/work productivity by scanning and saving your documents or notes quickly and share them with anyone.
  • Capture your ideas or flowcharts that you jot down hurriedly and upload them to your choice of cloud storage instantly.
  • Never forget anyone's contact information by scanning the business cards and storing them.
  • Scan printed documents and save them to be reviewed later or send them to your contacts to review it.
  • Never worry when it comes to receipts anymore. Just scan the receipts and save them to your device and share them whenever necessary.

EDUCATIONAL PRODUCTIVITY

  • Scan all your handwritten notes and share them instantly to your friends during stressful exam times.
  • Never miss another lecture notes. All documents are timestamped, so just look up the date or time of the lecture to quickly bring up the lecture notes.
  • Take pictures of the whiteboards or the blackboards for future reference and save those as PDFs.
  • Upload your class notes to your choice of cloud storage instantly.

BUILD INSTRUCTIONS

Set up flutter on your local machine Official Flutter Docs

Clone this repo on your local machine:

git clone https://github.com/Ethereal-Developers-Inc/OpenScan.git

Using Android Studio:

Set up your editor of choice. Official Flutter Docs for setting up editor

  • Android Studio
    • Open the project in Android Studio.
    • Make sure that you have your cursor has focused on lib/main.dart (or any other dart file) i.e. just open one of the dart files and click on the (dart) file once.
    • Click on Build > Flutter > Build APK in the menubar at the top of Android Studio.
    • Once the build finshes successfully, in the project folder, go to build > app > outputs > apk > release > app-release.apk
    • This will be your generated apk file which you can install on your phone.

Using terminal:

  • Using the terminal or cmd
    • Make sure you are in the project directory where the pubspec.yaml is present and open your terminal or cmd.
    • Run flutter build apk
    • Once the build finshes successfully, in the project folder, go to build > app > outputs > apk > release > app-release.apk
    • This will be your generated apk file which you can install on your phone.

SCREENSHOTS

openscan's People

Contributors

imgbotapp avatar izzysoft avatar veejayts avatar vikram0230 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openscan's Issues

Hacktoberfest

Mark this repo with hacktoberfest tag and issues with hacktoberfest label.
So that more people can contribute to it.

Regards

Features request

Please add the following features.
Add all ocr features.
And save ocr text as TXT, PDF, docx formats.










allow photos to be rearranged before saving

right now photos show up in the pdf in whatever order the photo were taken initially. this can be a problem when taking multiple photos where one can easily miss a page and in the current workflow, there is no way to move a photo between two earlier ones

Bug. Photos taken in app show up in camera folder in gallery

Any photos of pdfs I take are currently stored in camera roll as normal photos. Then I am having to delete all.
Either dont save photos because a user expects to use then in pdf has already done that, double work to delete them again. Or, put then in a separate folder

when mixing modes no new Images are saved

Using this app the first time I found this bug: I started with normal mode for the first page, than decided to switch to quick mode for the next pages. After that I had the expected number of images/pages but all of them where showing the first image.
I tried this once again, taking two images on normal mode and than switching to quick mode which led to the first two images being as expected and the other one showing the second image.
Sticking with one mode everything works as expected.
Device: Google Pixel 3a, Android 11
App: from play store, version 2.0.0

Set correct mimeType in ACTION_SEND intent

https://notabug.org/Umnik/SaveTo/issues/27

When user calls Export menu the application creates IntentChooser I think. My application presents in apps list because it can process some application/XXX mime types. But OpenScan set mime type application/* for Intent and my SaveTo app skips this file.

Can you set correct mime type on export? application/pdf, image/jpg and so on?

Screenshot_20210416_214634

Screenshot_20210416_214721

Screenshot_20210416_214617

Spirit level

In a similar program , this is an feature
If you can build it in Openscan , the scans would be better because the camera has the right angle to the document

Quick scan widget

Suggestion to have widgets support so that a user can quickly get to shooting photos.

app crashes on taking multiple photos

hi.
i have installed the app on xiaomi mi pad 1 running android 4.4.4 and the app is working fine as long as i take a single photo at once.
if i take say 3 photos, the app crashes and all saved data is gone. What i am doing now is, i am taking a photo, clicking on back. then from sidebar add image.
then take a photo, then back to home and then open the folder again. it is time consuming but that is only how i am able to manage using the app.
Other than that, you are doing a great job. I will be helping in bug reporting and such

allow using photos from gallery

currently the only way to use the app is to take fresh photos. My suggestion is to allow saved photos in gallery etc to be added to a document.

pdf export options

Libreoffice has this nice feature on pdf export

https://help.libreoffice.org/7.0/en-US/text/shared/01/ref_pdf_export_general.html?&DbPAR=WRITER&System=UNIX

including page range, image resolutions and sign with watermark.

With regards to watermark, openscan does not add any watermark to the output, which is fine but that should not mean users should not be also allowed to not add one. say i want to write "confidential" to the output. i should be able to.

same for image resolutions. currently whatever resolutions is decided by the app is set and the output usually balloons to very high sizes. giving the user freedom to choose whatever quality/compression is suitable for them should be enabled.

same for the page range. say i take 10 photos but i want to export 1-7, and 4-8, or 1-9 and 1-10. i should be able to do that

App size

Hi. Thanks for quick responses. One more question:

After installing the app in release mode on:
Redmi 4A (mobile) • android-arm64 • Android 7.1.2 (API 25)
Android SDK built for x86 64 (mobile) • emulator-5554 • android-x64 • Android 10 (API 29) (emulator)
The app size is around 77Mb.
Is it normal size? Any ways to reduce the size?
Thank you

Automatic Upload (Feature Request)

  1. Before (Somewhere in the options): Choose a path and a format (pdf or images)
  2. Now do some photo scanning with the app
  3. When finished, push a button for automatic upload (to the choosen path in the selected format, which was selected before)

if this works for a local path, then eventually it will work someday to the Cloud (Nextcloud?!)

Thanks for OpenScan!

Magnifier for cropping

When cropping, it would be very beneficial to have a popup zoom box so you can better ensure hat youre choosing the edges/corners properly.

Keep up the great work!

Over haul backend

Over haul saving mechanism into a database format so that refresh functionality is fixed and maintaining file and folder names is easier. Use sqflite.

page number

the current old app does not have a way to set page number on the pdf output. this gets difficult to collaborate on pdfs with lots of pages

Import through share action from other apps

Tried to share a jpg from gallery to crop and convert to pdf in openscan.
(Tried open gallery and stock gallrry of lineageos)

Openscan is not listed in the apps i can share images with.

This would enhance workflow a lot. Finding the folder where images are can be tiring as they may originate in many different applications (camera, chats/messengers, evernote, collaborative clouds....)

Thx for openscan!

[Feature] Cropping improvements

In OfficeLens, the corner-nodes in cropping can be adjusted by clicking in the general direction, I think the closest point will then be dragged. This is useful, as if you have to directly drag the nodes, you cannot see exactly where you place them while you adjust them. Also, a zoom option would be nice to crop exactly in the corners, even on smaller screens.

Zoom bug

Got the updated app from play store as f droid would take time and all. Anyways I am very happy with the results. I just found two ish bugs.

This one is when I am viewing a page, I can zoom but it resets to original scale if I move fingers away from screen.

Zooming to any level should keep photo at that level until I zoom back manually.
I am having to hold fingers in a pinch position to read a text because removing fingers resets zoom

Translations

I looked in the folder (values) where usually translation string files are, but I didn't find any. How about adding one, and make translations possible? I'm ready to translate it in Greek! ☺️

[Feature Request] Selectable save-to directory

Hello,

Currently when saving to the device, the path is hardcoded to /OpenScan/PDF. You then have to exit OpenScan, open a file manager app, navigate to /OpenScan/PDF, and then move the file to the wanted directory.

It would be a great improvement if there was a manual save to device button in which a directory picker would appear and then you could drop the document where it needs to go from within OpenScan.

Thank you!

borderless output

currently every pdf output has a white border.

would it be possible to have borderless output because the white border does not "feel" nice.

Official F-Droid Release

I see that the app has been released on Izzy's repo in issue #9, but some people do not want to add another repo to F-Droid.

It would be nice if it can be added to the official F-Droid repo.

This is the inclusion policy that must be met to be able to submit. More info about submitting can be found here.

Here is the issue tracker to request your package to be available on F-Droid. After submitting, they can assist on what is needed to be done (if anything) to get it on F-Droid.

quick photo mode

right now if i have to say take 10 photos, i start with one, click on shutter. then i am taken to crop. i accept that. then i click on capture again.

can we improve on this workflow? i am suggesting creating a quick photo mode whereby i can set the defaults like crop and color and orientation and such once and then just click away. this is because if i want to take pictures of 10,20 or even more then current workflow is too tiring because there are steps that can be cut.

also, one can use some sort of jig to hold the phone and then the current workflow brings in too much touching the screen. i am thinking setup once and then click on shutter to take as many photos.

something like those book scanning rigs where you have a shutter button and the user just flips a page, click, flip, click.

[Feature] sliders for filters

Hi. The new filters are nice but the b/w is unusable if there is any shade on paper. I should be able to adjust levels using a slider. Same for magic color. Its right now all or nothing. Adjustable would be so much better

Rotate Image Quality bug

Issue: Scanned Image when rotated reduces in quality

Steps to reproduce:

  • Use OpenScan Quick or Normal Scan to scan an image/page
    (Note: For main cause of user experiencing this issue. See Issue #59)

  • Rotate the Landscape image into potrait by using the Crop option from the Page menu.

  • Quality of text or handwriting reduces

Device: Samsung Galaxy M21

[Feature] markup /annotations

There are scanner apps that allow annotations support. Annotations can be using arrows, pencil, highlighter, marker, boxes and such.

Alternative Download

Great to see a tracker-free FOSS PDF-scanner – thanks for that! Would you mind providing the APK to non-Google users (think: Google-free Huawei, LineageOS etc. devices) as well – e.g. by attaching it to the corresponding release tag? Thanks in advance!

Small inconsistency in "Crop" setting

Whenever you long-press an image in the catalog, it will show a pop-up dialog with a "Crop" button, the problem arises when pressing it. Since it will also send you to the second section (when you change to magic color, gray mode, etc).

Users who might want to apply for example, magic color, to a picture but don't want to crop it, might not realize this until later when they press it.

Maybe add a third button called "Enhance"?

Custom cropper screen

How can I remove 'Original' 'Magic Color' and other buttons from cropping screen?
I've downloaded the Flutter scanner plugin and tried to modify -> scanner_core -> scanlibrary -> src -> main -> res -> layout -> result_layout.xml
but the buttons are still there.

Import multiple images at once

When importing images from the gallery, only one image can be selected. It would be very convenient if multiple images could be selected and imported at once, like when quick scanning.

PDF generation fails if name has a / in

For example when naming a scan "W/C 1-1-1" the PDF generation fails. There is no error dialog. It just does nothing. logcat shows:

flutter : type=ResultType.fileNotFound message=the /data/user/0/com.ethereal.openscan/app_flutter/W/C 1-1-1.pdf file does not exists

𝙊𝙥𝙩𝙞𝙤𝙣 𝙤𝙛 𝙘𝙝𝙤𝙤𝙨𝙞𝙣𝙜 𝙢𝙤𝙧𝙚 𝙩𝙝𝙖𝙣 𝙤𝙣𝙚 𝙥𝙝𝙤𝙩𝙤 𝙖𝙩 𝙖 𝙩𝙞𝙢𝙚

𝘐 𝘢𝘮 𝘳𝘦𝘢𝘭𝘭𝘺 𝘪𝘮𝘱𝘳𝘦𝘴𝘴𝘦𝘥 𝘸𝘪𝘵𝘩 𝘵𝘩𝘦 𝘢𝘱𝘱. 𝘖𝘯𝘦 𝘰𝘧 𝘮𝘺 𝘵𝘸𝘰 𝘪𝘴𝘴𝘶𝘦𝘴 𝘸𝘪𝘵𝘩 𝘪𝘵 𝘪𝘴 𝘐 𝘢𝘮 𝘶𝘯𝘢𝘣𝘭𝘦 𝘵𝘰 𝘱𝘪𝘤𝘬 𝘮𝘰𝘳𝘦 𝘵𝘩𝘢𝘯 𝘰𝘯𝘦 𝘱𝘩𝘰𝘵𝘰 𝘢𝘵 𝘢 𝘵𝘪𝘮𝘦. 𝘛𝘩𝘪𝘴 𝘱𝘳𝘰𝘭𝘰𝘯𝘨𝘴 𝘵𝘩𝘦 𝘢𝘮𝘰𝘶𝘯𝘵 𝘰𝘧 𝘵𝘪𝘮𝘦 𝘭𝘰𝘢𝘥𝘪𝘯𝘨 𝘢𝘭𝘭 𝘵𝘩𝘦 𝘱𝘩𝘰𝘵𝘰𝘴. 𝘐𝘴 𝘪𝘵 𝘱𝘰𝘴𝘴𝘪𝘣𝘭𝘦 𝘵𝘰 𝘭𝘰𝘢𝘥 𝘮𝘰𝘳𝘦 𝘵𝘩𝘢𝘯 𝘢 𝘴𝘪𝘯𝘨𝘭𝘦 𝘱𝘩𝘰𝘵𝘰 𝘢𝘵 𝘢 𝘵𝘪𝘮𝘦?

Directly using the "PDF" button does nothing; "Export" > "Save to device" in menu never finishes

What the title says: PDF button in frontend does appear to do absolutely nothing (except blink), when being clicked on.
The context menu entry "Export" → "Save to device" never finishes the "Selected directory" step (remains on swirl animation).

I suspect this has to do with this phone (Samsung S3 Mini) running an old lineageos without some of the necessary Google services?
Even then, these actions should fail more gracefully.

I'm also not sure where output images are stored, prior to export (Currently I try to take them directly from data/*openscan/files/, but this is also prevented by unrelated issue #37 - it also feels like a hack to grab them from that folder).

Save to PDF without margins

Would be great to be able to export pictures to PDF without margins to be able to imitate scanning e.g. take picture of A4-size document and fit it 1:1 into PDF A4 size.

Now it leave margins on sides in addition to original margins of document.

license

i am not sure if i should be writing this here but the current license is "MIT" as per github license page. i wonder if the permissive license was selected specifically or just willy nilly because this license gives a third party, anyone permission to use your work in their commercial closed source versions without open sourcing their version.
GPL on the other hand forces a fork or a third party to also open source their version.

essentially if you are doing work for the community, there should not be a time when some unscrupulous persons would take your code, repackage it and sell it without contributing to the community.

If the developers are fine with this arrangement and have done so on their own volition, fine but if not then they should seriously look at GPL 3. ;-)

[Feature Request] Add text layer to PDF with OCR

Most desk scanners offer an included OCR engine for the output files to be searchable. This feature would make the app perfect for most users. Maybe something like tesseract can be integrated. Or even a third party app like this: OCR (Tesseract) (Optical character recognition (OCR) functionality based on Tesseract via Intents) - https://f-droid.org/packages/org.totschnig.ocr.tesseract.

"This app bundles OCR functionality (based on Tesseract) that can be called from other apps via Intents. It listens for Intents with action "org.totschnig.ocr.action.RECOGNIZE" and expects an Uri pointing to a JPEG file as data. The recognized text is passed back in the extra "result" as an object of a parcelable data class Text, that must be copied into the client app."

Seems perfect for this project.

[Bug] Resolution of captured images is extremely low

First of all, the app looks great so far! Thank you for all the work you've put into it.
It's fast, easy to use with a nice tutorial, and the edge detection works great.

I'd like to switch, but there's a problem with the image resolution:
It's always extremely low, as if only a thumbnail was used. This is both when adding pages using normal scan, and importing from gallery.

I'm using a Samsung Galaxy S20 (Android 11) and the OpenScan version currenly on Google Play.

FAB symbol

I think the FAB should have a "+" symbol in it, instead of that "Ξ". Makes more sense.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.