Skip to content

一个简易的网页打印服务端,可扩展各类文件格式支持

License

Notifications You must be signed in to change notification settings

qinlili23333/ReinePrint

Repository files navigation

ReinePrint

一个简易的网页打印服务端,完全模块化可随意扩展,基于MPL协议永久免费开源支持商用
所有组件均使用完全开源的解决方案,每一行代码都可被随意审查,MPL协议要求二次开发必须开源,保证了本项目和使用本项目的其他项目都绝对纯净可控
我不赚钱欸我就是玩就是喜欢砸人饭碗
项目名的来源是月亮国公主六边形战士兰音

格式支持

目前已官方支持以下格式:
图片类:bmp,jpeg,jpg,png,tif,tiff
文档类:caj,xls,xlsx,doc,docx,pdf,ppt,pptx,txt,html
预处理文件类:xps,oxps,ps

使用方法

Clone本项目到本地,确认已经安装Python3(需加入PATH变量)和MS Office后,首先运行PythonModuleInit.bat,初始化完成后运行Launch.bat即可启动
如果你使用内置的qrcp接收服务请务必在路由器上放行本机的9980端口
如果你使用内置的filebrowser接收服务请务必在路由器上放行本机的8080端口
请务必确保已经在设置内关闭Let Windows manage my default printer并设置了默认打印机,所有打印都会在默认打印机上进行,请不要把默认打印机设置为Adobe PDF等虚拟打印机测试
如果需要修改打印设置,把打印机的首选项改掉就行了,本项目一律使用你设置的首选项进行打印
本项目可以在多网卡设备上运行,但显示地址和二维码默认只显示第一个IP,但你可以通过本机任意IP访问
如果你需要打印postscript文件,请打开Acrobat Distiller,在文件-首选项中勾选信任所有文件,否则一旦打印postscript文件,弹出的是否信任会打断全自动无人值守状态

运行环境

硬件配置

CPU:推荐2核心4线程以上
内存:可用容量大于4G
网络:稳定的局域网连接,(互联网连接是可选的,支持映射端口开启外网打印)
硬盘:至少拥有200M以上空闲空间(建议安装在只有ASCII字符且无空格的路径中,建议使用无空格的英文用户名)

软件需求

.Net 4.8(oxps文档必须)
Python3(caj,office文档必须)
MS Office 2013以上版本(office文档必须)
Adobe Acrobat Pro DC(postscript必须)

这个项目目前有什么局限性

对于文件名包含逗号和特殊字符的情况无法处理会直接报错并跳过(空格和括号已经可以处理)
在配置极低的电脑上可能无法打印超大型的ppt/pptx
qrcp在无互联网连接获取ip的情况下只能工作在一个网卡上

为什么有些文件打印失败了

请按照以下顺序检查出错原因:

  1. 该文件的后缀是否在当前版本支持范围内且处于启用状态(可使用配置工具查看启用的格式)
  2. 该文件的实际格式是否与后缀相符合(比如后缀为.pptPNG图片无法打印)
  3. 你是否具备该文件格式所必须的运行环境和足够的设备配置
  4. 该文件的文件名是否具备逗号或其他特殊符号
    如果没有上述问题,请提交一个Issue详细描述你遇到的问题,并附上遇到问题的文件

根目录程序内容

ConfigureTool.bat配置工具,可启用或停用格式支持
daemon.bat打印队列服务,请不要单独运行这个程序
EnvChecker.bat环境检查,检查是否可以流畅稳定运行打印服务
Launch.bat启动并管理主服务,平时只需要启动这个程序
PythonModuleInit.bat初始化必须的pip模块,你只需要运行一次
ReineDemoTest.bat测试程序,打印一张兰音的立绘用于测试部署情况

我可以为这个项目做些什么

写一个新的接收服务
写一个新格式的支持
改善本项目的任意组件的源码
提Issue

使用以下开源项目

qrcode.js
caj2pdf(包括MuPDF
wkhtmltopdf
PrintXPS
oxpsConverter
7zip
PDFtoPrinter
filebrowser

About

一个简易的网页打印服务端,可扩展各类文件格式支持

Resources

License

Stars

Watchers

Forks

Packages

No packages published