Giter Club home page Giter Club logo

lookscanned.io's Introduction

GitHub Workflow Status (main) License

https://lookscanned.io

Look Scanned is a pure frontend site that makes your PDFs look scanned! No need for printers and scanners anymore - everything you need to do is just a few clicks. Inspired by baicunko/scanyourpdf.

✨ Features

  • Everything is processed in your browser. No privacy risk.
  • Works without network connection using PWA.
  • See scanned PDF side-by-side in real time.
  • Works on all modern browsers and devices.
  • All files are static. No backend servers needed.
  • Tweak the settings to make your PDF look better.

📸 Screenshots

Origin Processed

🧑‍💻 Develop

$ npm run dev # Run Dev Server
$ npm run build # Build to dist/

♥ Credits

📝 License

MIT License

lookscanned.io's People

Contributors

cnotin avatar dependabot[bot] avatar iksas avatar rwv avatar tomayac 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

lookscanned.io's Issues

Feature Request: Add Signature to Document

Hi,
thanks a lot for this app. As someone living in Germany I appreciate it! It would be a very nice feature for me if the app could also add a signature.
Options here could be to use a font that looks like handwriting similar to what the Firefox pdf viewer uses or let the user upload a signature.

Not working online Firefox M1

I have a Macbook m1 and it the website is stuck on "Combining PDF pages" for a single page pdf of a screen shot with Firefox 100.0.2 (64-bit).

Warning: fetchStandardFontData: failed to fetch file "FoxitSymbol.pfb" with "UnknownErrorException: StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.". 4 [pdf.worker.min.4ac4c8ea.js:22:21471](https://lookscanned.io/assets/pdf.worker.min.4ac4c8ea.js)
start Worker [index.44c81b0c.js:21:23008](https://lookscanned.io/assets/index.44c81b0c.js)
Message received from main script 2 [processImage.worker.e046c828.js:174:865](https://lookscanned.io/assets/processImage.worker.e046c828.js)
start Worker [index.44c81b0c.js:21:23008](https://lookscanned.io/assets/index.44c81b0c.js)
Message received from main script 2 [processImage.worker.e046c828.js:174:865](https://lookscanned.io/assets/processImage.worker.e046c828.js)
rendered page 1/1 [index.44c81b0c.js:25:68164](https://lookscanned.io/assets/index.44c81b0c.js)
start Worker [index.44c81b0c.js:21:23008](https://lookscanned.io/assets/index.44c81b0c.js)
Message received from main script 2 [processImage.worker.e046c828.js:174:865](https://lookscanned.io/assets/processImage.worker.e046c828.js)
processed page 1/1 [index.44c81b0c.js:25:68235](https://lookscanned.io/assets/index.44c81b0c.js)
Worker combineImagesToPdf: Received message from main script 2 [combineImagesToPdf.worker.c9f15f56.js:174:92](https://lookscanned.io/assets/combineImagesToPdf.worker.c9f15f56.js)

It does not work in Chrome (Version 102.0.5005.61 (Official Build) (arm64)). Chrome asks were to save the file, but nothing is downloaded into the file.

To reproduce:

Take a screen shot.
Open the screen shot in MacOS preview.
Print to pdf.
Upload the pdf to the website.
Hit save.
{wait forever}

Look & feel

In the scanning process, there are not only colors, angles, and shadows, but also creases, fold lines, and even shadows on other pages (depending on whether the binding is removed or not, of course - if it is, then there are no additional shadows but there are binding marks)

the grayscale works not well with rotation

hello, with the brightness config the result goes to dark and gray, however the rotation let corners keep white. then, it is easy to see the virtual attribute.

Edit: typo

Why are the parameters invalid after deployment?

PixPin_2024-02-05_15-12-05
为什么部署后参数无效?选择了彩色,还是黑白,模糊也不生效。

Why are the parameters not valid after deployment? Selected color, still black and white, and blur doesn't work.

Compression Ratio

Add an option to set compression ratio. the Generated PDF is too big. I try to compress with ilovepdf and the compression ratio result more than 90%.

Unable to download after save

I can't download the saved PDF in most cases.

On Chromium (snap/ubuntu), nothing happen, it show "Finished" but I got no file prompt.
On Firefox (snap/ubuntu), it stuck on "Combining PDF pages"

It has finally worked on Brave (again snap/ubuntu), but not with PDF filenames containing UTF8 char.

Frustrating, because everything else seems to work well :)

Thanks !

ERROR "qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found." occurred in Debian11 when "nmp run dev"

Hi,
ERROR "qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found." occurred in Debian11 when "nmp run dev". I tried these commands but it didn't work:

apt install npm
apt install libxcb-util1
sudo apt install -qq libglu1-mesa-dev libx11-xcb-dev '^libxcb*'
python3 -m pip install PyQt5
sudo apt-get install libqt5x11extras5

ERROR still hapen when run npm run dev, what could I do to run it successfully in Debian 11:


> [email protected] dev
> vite

QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "archreq": 0,
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "archreq": 0,
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimal.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "archreq": 0,
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimalegl.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "archreq": 0,
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqoffscreen.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "archreq": 0,
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqvnc.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "archreq": 0,
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 331520
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
loaded library "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so"
qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Aborted
npm ERR! code 134
npm ERR! path /home/user/Downloads/lookscanned.io
npm ERR! command failed
npm ERR! command sh -c vite

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2022-06-07T04_45_13_061Z-debug.log

在Debian11下重新换了一套命令尝试如下:

sudo apt install npm
mkdir /usr/local/node
cd /usr/local/node
wget https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.xz
tar -xvf node-v16.15.1-linux-x64.tar.xz
vim /etc/profile
在末尾加入:
VERSION=v16.14.0
DISTRO=linux-x64
export PATH=/usr/local/node/node-$VERSION-$DISTRO/bin:$PATH
刷新配置:
source /etc/profile
npm install electron-packager -g
npm i
npm dev run

出现如下错误:

> [email protected] dev
> vite

failed to load config from /home/user/lookscanned.io/vite.config.ts
error when starting dev server:
Error: Cannot find module 'fs/promises'
Require stack:
- /home/user/lookscanned.io/node_modules/@vuetify/loader-shared/dist/styles/writeStyles.js
- /home/user/lookscanned.io/node_modules/@vuetify/loader-shared/dist/index.js
- /home/user/lookscanned.io/node_modules/@vuetify/vite-plugin/dist/importPlugin.js
- /home/user/lookscanned.io/node_modules/@vuetify/vite-plugin/dist/index.js
- /home/user/lookscanned.io/vite.config.ts
- /home/user/lookscanned.io/node_modules/vite/dist/node/chunks/dep-59dc6e00.js
- /home/user/lookscanned.io/node_modules/vite/dist/node/cli.js
- /home/user/lookscanned.io/node_modules/vite/bin/vite.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/user/lookscanned.io/node_modules/@vuetify/loader-shared/dist/styles/writeStyles.js:4:20)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
npm ERR! code 1
npm ERR! path /home/user/lookscanned.io
npm ERR! command failed
npm ERR! command sh -c vite

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-06-08T00_39_35_631Z-debug.log


在Windows 10下,运行命令安装环境:

安装node.js
npm install electron-packager -g
npm i
npm dev run
  • 能出现正常结果
  vite v2.9.9 dev server running at:

  > Local: http://localhost:3000/
  > Network: use `--host` to expose

  ready in 223ms.

Add details to readme

Given how this project seems to be heavily inspired by the more popular, baicunko/scanyourpdf, it would probably be a good idea to explain exactly how your application differs in the README file.

Desktop app as flatpak

It would be nice if you could publish this as a flatpak on flathub e.g.

Of course, this also requires the app to be wrapped in Electron or so, that you can easily install.
The advantage would be you can restrict it (by default) and not give it internet permission, so users can be sure, no data is sent anywhere.

Flatpaks are a new software distribution mechanism for Linux distros, can thus installed on any distro and are easy to update. They are easy to install and update and work on all Linux distros.
Also, if you publish it on FlatHub you may grow your user base given many distros include that and it is a common software source, so your app can be discovered more easily.

Here is how to get started.

how to build dcoker image

i try to make a docker image use this dockerfile

FROM node
EXPOSE 4173 5050
WORKDIR /home/node/lookscanned
COPY lookscanned.io-main /home/node/lookscanned
RUN yarn add esbuild && npm run build:all
CMD npm run serve --host 0.0.0.0 --port 4173

but won't work, can you help?

Not working offline: "Rendering finished, waiting for processing"

Steps to reproduce

  1. Load https://lookscanned.io/scan
  2. Turn off Internet connection
  3. add pdf file
  4. Preview of unchanged PDF appears in the left panel
  5. Click "Preview" – nothing happens, nothing appears in the right panel.
  6. Click "Download": message "Rendering finished, waiting for processing" is displayed, but no pdf is downloaded.

Leaving out step 2 (disabling Internet) works around the issue.

What was attempted

  1. Use Firefox 99 on macOS 12
  2. Use Chrome 100 on macOS 12
  3. Use private/incognito tab (all add-ons disabled) in the above two configurations.

Enable "Save as"

Hi there,
With the latests update, "save as" feature has been lost.
Dowloaded documents go straigt away to Donwload folder.

Thank you!

Missing license

In absence of a license, it's difficult for anyone to decide if they can contribute, or even read the code.

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.