能让PDF看起来像是扫描件的Look Scanned

什么是 Look Scanned ?

Look Scanned 是一个能够让 PDF 看起来就像是扫描件一样的纯前端网站。你再也不需要麻烦地打印之后扫描了,你所需要的就是鼠标点几下。

这是个挺有意思的软件,但是老苏不确定什么场景下会用到这个软件,如果不想自己搭建的话,可以去试试官方的在线演示:https://zh.lookscanned.io/

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

这是一个前端项目,所以老苏用了一贯使用的标准 Dockerfile 模板

【注意】:这个镜像实际上是有问题的,正常使用当然没问题,但是刷新页面会显示 404 Not Found,应该需要用自己的 nginx.conf 而不是默认的,不过老苏也不会,所以这个镜像只适用于功能体验

1
2
3
4
5
6
7
8
9
10
11
12
13
FROM node:16.14 as build-deps
MAINTAINER laosu<wbsu2003@gmail.com>

WORKDIR /app
COPY . ./
RUN npm install
RUN npm run build

FROM nginx:1.12-alpine
COPY --from=build-deps /app/dist /usr/share/nginx/html

EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

构建镜像和容器运行的基本命令如下👇

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 下载代码
git clone https://github.com/rwv/lookscanned.io.git

# 或者加个代理
git clone https://ghproxy.com/github.com/rwv/lookscanned.io.git

# 进入目录
cd lookscanned.io

# 构建镜像
docker build -t wbsu2003/lookscanned:v1 .

# 运行容器
docker run -d \
--name lookscanned \
-p 3366:80 \
wbsu2003/lookscanned:v1

【注意】:如果编译镜像的主机内存比较小,比如只有 2G 时,在执行 npm run build 时可能会遇到下面的错误

1
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 lookscanned ,选择第四个 wbsu2003/lookscanned,版本选择 latest

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3366 80

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
# 运行容器
docker run -d \
--name lookscanned \
-p 3366:80 \
wbsu2003/lookscanned

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
version: '3'

services:
lookscanned:
image: wbsu2003/lookscanned
container_name: lookscanned
restart: unless-stopped
ports:
- 3366:80

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 lookscanned 和 子目录
mkdir -p /volume1/docker/lookscanned

# 进入 lookscanned 目录
cd /volume1/docker/lookscanned

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3366 就能看到主界面

开始扫描,显示的是内置的文档演示效果

可以点 选择 PDF 文件 来更换你自己的 pdf 文件

扫描参数包括了:

  • 颜色:这是开关参数,默认为 黑白,可切换为 彩色
  • 边框:这是开关参数,默认为不启用;
  • 旋转角度:默认为
  • 旋转角度的随机度:默认为 ±0.5°
  • 模糊:默认为 0.5
  • 噪点::默认为 0.25
  • 分辨率::默认为 2x,这个参数没搞明白,或者说和老苏理解的不一样;

每次参数做了修改,需要点 预览 让参数生效,最后可以 保存 到本地

参考文档

rwv/lookscanned.io: 📚 LookScanned.io - Make your PDFs look scanned
地址:https://github.com/rwv/lookscanned.io

Look Scanned
地址:https://zh.lookscanned.io/