Code Monkey home page Code Monkey logo

simple-web-based-interface-for-scanner's Introduction

StaticPIE

Simple Web-based Interface for Scanner

Package version License

This is a simple web-based interface for scanners. It allows sharing the scanner via IP address, making it accessible by the web browser. The frontend interface allows users to crop the image and browse previously scanned images.

From a technical perspective, it is simply a SANE scanimage wrapper. There are quite many things to do to make it production (see TODO section).

Recently, printing and uploading features have been added. The uploading feature allows to upload documents to the server and then print them. This is useful when you want to print documents from your phone or other devices.

Features

  • Scanning to png, jpeg formats with provided DPI and color palette
  • Cropping scanned images
  • Creating PDF documents
  • Browsing scanned documents
  • Printing files
  • Uploading

Requirements

  • Linux
  • SANE (Scanner Access Now Easy) properly configured (scanimage tool)
  • OpenPrinting configured on server (lp tool)
  • convert tool for pdf creation
  • Python >= 3.8
  • [Optionally] NPM (for frontend development purpose)

Install and run (local user)

pip install swis
swis --ip localhost --port 5520

If successfully executed visit the http://localhost:5520 (Note: http (without s))

❗IMPORTANT❗ Change the IP (localhost above) to a proper host IP address if you want to access the scanner from other computers (or other devices).

Install and run (system service)

Prerequisites

This process requires root privileges, and you need to have Python>=3.8 installed. If the root user does't have the the pip installed, you will have to install it by running the below:

  • Fedora (and similar): sudo dnf install python3-pip
  • Ubuntu (and similar): sudo apt-get install python3-pip

Install and start service

sudo pip3 install swis
sudo swis --ip [HOST IP ADDRESS] --port 5520 -u [USER] -g [GROUP] service install 
sudo swis service start

You can check the status by running: sudo swis service status

❗IMPORTANT❗ Change the IP ([HOST IP ADDRESS] above) to a proper host IP address, and [USER] and [GROUP] to a proper system user (owner of scanned documents).

Upgrade to new version

To upgrade swis to the new version following steps need to be performed (notice that config needs to be provided):

sudo swis service stop
sudo pip install -U swis
sudo swis --ip [HOST IP ADDRESS] --port 5520 -u [USER] -g [GROUP] service install 
sudo swis service start

Cockpit

There is option to integrate SWIS with Cockpit. This feature is under early development.

Project is available at: https://github.com/rsusik/swis-cockpit

Screenshots

Welcome screen

Scanning parameters

Scanning in progress

Cropping scanned image

Side menu

List of scanned images

Creating PDF file from scanned documents

Uploading documents

Printing documents

simple-web-based-interface-for-scanner's People

Contributors

rsusik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

simple-web-based-interface-for-scanner's Issues

Not scanning after update

Hi,
Ive updated Swis...and my scanner doesnt seem to scan anymore !
the scanner doesnt seem to process any request.

Uninstalling and reinstalling doesnt help :(

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.