通知 爱刷机 路由器教程 →→《省钱助手

openwrt在Raw模式无打印机驱动下实现cups打印中文文档

2024-10-13
0评论
/
阅读
爱搜啊

Raw模式无打印机驱动下实现cups打印中文文档

本方法支持armv7,arm64和x86_64设备。

先登录cups的web页面:http://ip:631,添加一个打印机

点选Make:Raw后,点Continue

然后点选Model:Raw Queue(en)。

点击Add Printer。

最后设置这个打印机为默认设备。(Maintenance: Set As Server Default)


因为使用了Raw模式,所以不需要打印机驱动!

但是Raw模式,只能打印英文文本。

要实现正确打印中文文档,需要使用libreoffice把目标文档转换成pdf格式。


这里用到了linuxserver/libreoffice的docker镜像。


先去luci-app-dockerman里配置镜像加速器(解决无法拉取镜像的问题),添加:

http://dockerproxy.cn

https://docker-proxy.com

http://dockerpull.com

重启docker。


然后自行去准备几个常用的中文ttf字体文件。

把字体复制到/opt/fonts目录里.

再把需要打印的文档都复制到/opt/libreoffice目录里。


执行命令:

docker run -d \
--name=libreoffice \
--security-opt seccomp=unconfined `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-p 13000:3000 \
-p 13001:3001 \
-v /opt/fonts:/usr/share/fonts \
-v /opt/libreoffice:/mnt \
--restart unless-stopped \
linuxserver/libreoffice:7.2.2.2-r2-ls48

docker成功启动后,执行下面的命令来重置字体,使支持中文:

docker exec -it libreoffice fc-cache -f -v

然后用下面的命令登录docker镜像的shell环境:

docker exec -it libreoffice /bin/sh

现在就能执行转换命令:

libreoffice --headless --convert-to pdf /mnt/input.docx --outdir /mnt/output

转换完成后,ctrl+d退出docker的shell环境,执行打印命令:

lp /mnt/output/*.pdf

双面打印命令(长边翻转):

lp -o sides=two-sided-long-edge /mnt/output/*.pdf

想要批量打印,就写个for循环脚本遍历即可。


点击链接加入群聊三群:751529538

点击链接加入群聊二群:376877156

点击链接加入群聊【路由器交流群:622891808已满】

本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


饿了么红包

饿了么红包

于2024-10-13发布