内网打印-共享打印机的最终手段

[复制链接]
108 |17
发表于 昨天 22:26 | 显示全部楼层 |阅读模式
原博主 @luckfish45[原创工具] 稻草打印V1.0-共享打印手段用尽后的最后一根稻草 这篇帖子,
给了我启发,原来还能使用内网调用目标电脑的打印机来打印。
但原博主的软件限制比较大,只支持PDF格式,使用多有不便。
于是,我陆续开发了1.1和1.2版本,但有bug,现在开发出了 内网打印服务1.3版本,

该版本使用Python3.7.9编程和打包,以兼容win7系统。


使用说明
在接打印机的电脑上运行exe文件,右下角托盘栏图标会显示IP端口,
在同一个局域网下的另一个设备通过在浏览器输入IP端口,
选择文件上传并设置相关参数,即可正常打印(已实际测试win7和win10)

功能说明
-打开一个网页就能打印:在局域网里,手机/电脑用浏览器访问,就能上传文件并打印。
-自动选默认打印机:启动后会自动选中系统默认打印机,也可以点“刷新”重新获取打印机列表。
-只显示真打印机:自动过滤虚拟打印机(比如 PDF 虚拟打印机)。
-实时读打印机能力:切换打印机时,页面会实时刷新“纸张大小”和“打印分辨率”,展示这台打印机实际支持的选项。
-默认就是 A4:如果没选,默认用 A4(纸张 ID=9)和 600x600 分辨率。
-支持的文件格式:PDF、JPG、JPEG、PNG、TXT、DOC、DOCX、XLS、XLSX、PPT、PPTX。
-静默打印尽量不打扰:
PDF:优先用 Adobe Reader 的静默打印;不行就用系统默认方式。
图片:用系统画图(mspaint)或系统关联程序静默打印。
Office:调用 Office 程序/COM 直接打印。
TXT:用系统默认方式打印。
-打印设置可选:份数、单双面、纸张大小、打印分辨率(如果打印机不支持双面,就只给单面的选项)。
-托盘图标:右下角托盘会有图标,能一键打开页面、设置静态 IP、启用 DHCP、开机自启、退出程序。
-离线也能用:没网也能打开本地服务,默认配置可用,上传的临时文件会定期自动清理。
-一键运行的 EXE:已打包成单文件 EXE(内置图标),双击就能跑,默认端口 http://本机IP:5000。
-打印日志:关键操作会记录到同目录的 print_log.txt。

运行要求
操作系统: 支持 Windows 7/8/10/11
运行库: 需安装微软VC运行库,百度或应用商店直接下载
Python版本: 3.6+  (运行py文件才需要)
依赖库: Flask, win32print, win32api, pystray, PIL等  (运行py文件才需要)
权限要求: 网络配置功能需要管理员权限


下载链接:https://yichuang.lanzouo.com/ilbIZ36oam5g
仓库地址:https://github.com/a937750307/lan-printing

截图
浏览器输入IP端口

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表于 昨天 22:26 | 显示全部楼层
————2025.11.21更新————
更新2.3版本(支持内网打印及扫描),
务必使用管理员权限运行exe文件!!!
建议在win10系统上测试最新版

使用英文文件名,放在纯英文路径,不然win11可能报错。

√正确示例:C:\zhou\Administrator\Desktop\print_server2.3.exe,
×错误示例:C:\周\Administrator\Desktop\print\内网打印2.3.exe
建议打印机连接在win10系统的电脑上(建议win10专业版,而非家庭版/企业版)
如果某个格式不能用,就转换成另一个格式打印,建议JPG和PNG
有问题先运行对应系统的修复工具,不行再看控制台的报错信息(控制台从图标右键的选项里打开)
反馈时说一下用的什么版本软件、是什么系统、上传的是什么格式文件、是什么问题、以及控制台报错信息,越详细越好


- 使用 Python3.7.9 编程和打包,兼容性更好
- 拥有内网打印及扫描功能

主要功能
- 【部署简单】:只需在连打印机/扫描仪的电脑上安装本软件,同一个局域网下的其他设备无需安装任何驱动或客户端,只需在浏览器输入 IP:端口 即可调用目标电脑的打印机进行打印和扫描仪进行扫描
- 【支持多系统多用户】:局域网内多用户共享打印和扫描,支持 Win7/Win10/Win11
- 【双重功能集成】:打印和扫描功能完美集成,一个软件解决所有办公需求
- 【支持跨平台访问】:支持Windows、Android、iOS等各种设备访问
- 【支持静默打印】:无需弹窗、无需确认,自动发送到目标打印机
- 【支持静默扫描】:完全后台执行,无弹窗干扰,不会影响目标电脑的正常使用
- 【文件上传与预览】:支持单文件选择、多文件选择和拖拽上传三种方式,图片、PDF文件和txt文件在上传前和上传后均支持预览
- 【扫描仪智能检测】:自动检测WIA兼容的扫描仪和多功能一体机,支持Canon、HP、Epson等主流品牌
- 【多格式扫描输出】:支持PNG、JPEG、PDF格式扫描,建议使用PNG获得最佳质量
- 【扫描文件管理】:扫描完成的文件自动保存,支持预览、下载、打印以及删除
- 【打印队列管理】:实时监控Windows打印队列状态,支持任务取消
- 【支持多种文件格式打印】:JPG/PNG、PDF、PPT/PPTX、TXT等(建议转换成JPG和PNG打印,其他格式不推荐,不支持DOC/DOCX和XLS/XLSX
- 【打印参数自定义】:份数、单双面、纸张大小、打印质量
- 【智能边距】:自动检测页眉页脚内容,无页眉页脚时最小化边距,最大化打印内容显示区域
- 【过滤虚拟打印机】:自动检测并过滤虚拟打印机
- 【日志记录】:显示用户计算机名/设备型号、时间、参数、IP地址
- 【日志统一管理】:打印和扫描日志统一显示和管理,显示最新的50条记录
- 【日志自动清理】:每天下午3点自动清理7天前记录,防止日志文件过大
- 【托盘栏图标集成功能】:端口IP显示、网络配置(静态IP/DHCP、端口修改)、日志管理、开机自启、控制台隐藏/显示、Github仓库跳转、安装二维码生成插件、退出等
- 【设备互斥管理】:智能管理打印和扫描设备冲突,确保设备操作的稳定性
- 【健康检测和重启服务】:健康检测与自动重启,保证服务稳定运行
- 【控制台窗口显示/隐藏】:源码运行或exe运行均支持控制台窗口显示/隐藏(可查看报错信息)
- 【控制台信息自动清理】:超过1000行自动清理,每30分钟检测一次,避免控制台长时间运行内容过多卡死
- 【完美退出】:自动清理残留进程,等待几秒即可完全退出
- 【支持内网穿透】:自动识别内网/公网/内网穿透模式,兼容各种内网穿透工具,支持公网访问
- 【文件兼容性优化】:优化文本文件UTF-8/GBK/GB2312等编码格式的兼容性
- 【Web界面优化】:打印和扫描功能通过标签页切换,界面简洁直观
- 【打赏】:可在经济方面支持一下作者(量力而行即可)

2.3版本更新内容
- 移除了关于控制台编码的代码。
- 移除了CDN依赖,网页样式使用本地css文件‘bootstrap.min.css’和本地js文件‘bootstrap.bundle.min.js’。
- 修复了某些系统下所有的 messagebox 框都无法关闭的问题。
- 添加了控制台对于中文计算机名的检测提示。
- 优化了logo图标,使用打印机图标,更直观。
- 优化了Office路径列表,支持更多Office版本的程序调用。
- 优化了扫描功能的代码量,减少嵌套。
- 优化了‘临时转换为PDF打印’方案,采用三层递进Office+WPS+LibreOffice静默转换PDF后打印,完成后清理临时PDF。(不保证可用,如果某个格式无法打印,就转换成JPG/PNG进行打印)
- 优化双面打印功能,使用双面打印时,临时修改打印机设置,完成后恢复打印前状态。
- 统一Flask配置,不再根据Windows版本调整。
- 统一控制台行为,无论源码运行还是exe运行,均为等待5秒隐藏控制台,若5秒内有按键行为则保留控制台。

使用说明
- 右键exe文件,使用管理员权限打开,托盘栏会生成图标,短暂显示控制台弹窗(几秒后隐藏,如想要显示,可在托盘栏图标右键重新显示,不想显示了就隐藏,关闭控制台则会关闭软件)
- 右键图标,会展示IP端口,点击即可访问(可安装二维码生成插件,做成二维码分发给局域网的其他人使用)
- 打开网页,通过【打印】和【扫描】标签页切换功能
  - 【打印功能】:选择/拖拽文件上传,设置打印参数后提交即可
  - 【扫描功能】:选择扫描仪,设置扫描格式,点击扫描按钮即可
- 上传后可在队列中删除未打印的文件,随时取消
- 扫描完成的文件可直接预览、下载或重新打印
- 所有操作均有提示,界面直观,无需额外说明
- 扫描和打印操作会自动避免设备冲突
- 网络相关设置请在托盘菜单【网络配置】中操作(必须管理员权限)
- 支持静态IP设置:选择"设置当前IP为静态"可固定当前IP地址
- 智能打印优化:程序会自动优化文档边距,无需手动调整
- 日志自动维护,无需手动清理
- 控制台自动维护,无需手动清理

修复工具 2.3版本
  - 若 `print_server2.3.exe` 运行报错,可使用对应系统的修复工具
  - `win7_fix_tool_2.3.py` - Windows 7 专用修复工具(支持打印及扫描环境检测,2.3版优化)
  - `win10_fix_tool_2.3.py` - Windows 10 专用修复工具(支持打印及扫描环境检测,2.3版优化)
  - `win11_fix_tool_2.3.py` - Windows 11 专用修复工具(支持打印及扫描环境检测,2.3版优化)

系统要求与兼容性
- 操作系统:Windows 7/8/10/11(32位/64位)
- 内存要求:建议 2GB 以上
- 磁盘空间:至少 100MB 可用空间
- 网络要求:支持TCP/IP协议的网络环境
- 打印机:支持Windows标准打印接口的所有打印机
- 扫描仪:支持WIA兼容的扫描仪和多功能一体机(Canon、HP、Epson等主流品牌)
- 浏览器:支持现代Web标准的浏览器(Chrome、Firefox、Edge、Safari等)
- Office软件:支持Microsoft Office 2013/2016/2019/365、WPS Office等(用于文档打印优化)
- 扫描驱动:需要正确安装扫描仪厂商提供的WIA兼容驱动程序
- 网络权限:建议以管理员权限运行,以获得完整的网络配置和打印机控制功能

扫描功能说明
- 支持的扫描仪类型:WIA兼容扫描仪、多功能一体机、USB扫描仪
- 不支持的扫描仪类型以及我的考虑:
  - TWAIN专用扫描仪:老旧设备,用户基数很小
  - 专业扫描仪:企业级设备,有专用软件
  - 网络扫描仪:大多有自己的Web界面
  - 跨平台扫描仪:主要是兼容性问题,非核心需求
- 扫描参数:自动尝试300 DPI分辨率和彩色扫描模式
- 输出格式:PNG(推荐,最佳质量)、JPEG、PDF
- 静默扫描:完全后台执行,无弹窗干扰
- 失败处理:扫描失败时提供详细错误信息,不会打开系统程序
- 兼容性提示:如确实安装了扫描仪但扫描失败,请在目标电脑上进行扫描操作


- 1.3版本成品下载链接:https://yichuang.lanzouo.com/b0pn3h9qj
- 1.4版本成品下载链接:https://yichuang.lanzouo.com/b0pn3h9sb
- 1.5版本成品下载链接:https://yichuang.lanzouo.com/b0pn3h9tc
- 1.6版本成品下载链接:https://yichuang.lanzouo.com/b0pn3t9ej
- 2.0版本成品下载链接:https://yichuang.lanzouo.com/b0pn3vykh
- 2.1版本成品下载链接:https://yichuang.lanzouo.com/b0pn43q5c (有win7用户反馈闪退)
- 2.2版本及2.2.1版本成品下载链接:https://yichuang.lanzouo.com/b0pn45mpa (win7用户无法使用)


2.3版本成品下载链接:https://yichuang.lanzouo.com/b0pn74c4b
网盘下载密码均为:52pj

仓库地址:https://github.com/a937750307/lan-printing,给我的仓库点Star吧!

有能力的可以给作者打赏~谢谢您咧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表于 昨天 22:27 | 显示全部楼层
HTML里面写了高级打印功能的使用提示,
如需使用【横版打印】或【自定义页码范围】或【布局调整】或【黑白打印/彩色打印】等高级功能,
可以在本地用office或是WPS编辑好再发送打印,
本工具只为解决“不能打印”的难题,高级打印功能需要软件支持。
回复

使用道具 举报

发表于 昨天 22:28 | 显示全部楼层
内网环境通常是可信环境,安全码意义不大。统计功能意义也不大啊,毕竟打印机通常都是很多人用,而且软件关掉之后也统计不了。 想要避免乱用,可以改IP,我顶多加个修改端口的功能,已经能够避免乱用了。
回复

使用道具 举报

发表于 昨天 22:28 | 显示全部楼层
没错,我遇到的就是这个问题,打印机连着的是win7电脑,而我的是win10,各种方法都试了就是连不上,然后有位博主的思路给了我启发,于是开发了这个工具
回复

使用道具 举报

发表于 昨天 22:28 | 显示全部楼层
有时候看有网友开发这种局域网共享打印的工具,但是有点搞不明白。
在局域网中,Windows本身就支持将普通USB打印机,通过共享打印机,只要将主电脑连接上打印机,并共享一下打印机,其它局域网内的电脑通过局域网添加这台共享打印机就可以实现内网共享打印机了。无需任何软件,就可以直接在Word,excel,WPS,PDF等等,中直接预览,打印,使用打印机了,弊端是需要连接打印机的电脑,在开机的情况才可以用。
为什么要搞这样一样共享打印软件,这么麻烦,还得打开网页,上传,各种注意细节,各种不支持,还不能实时打印预览,修改,调节。如果是互联网连接打印共享,倒可以理解,局网络共享打印,弄个额外共享打印工具就不能理解了。
其实内网共享USB打印机最好的方法,就是淘宝搜“打印机usb转网络”淘一个这样的盒子,将普通USB打印机转成网络打印机,直接通过IP去安装驱动,连接虚拟出来的网络打印机,这个就任何时候都可以打印,不用共享主打印机开机了。这样可以直接在Word,excel,WPS,PDF等等,中直接预览打印,是目前最完美的方法。
当然最好的,肯定是直接就支持网络打印的,网络打印机。
回复

使用道具 举报

发表于 昨天 22:29 | 显示全部楼层
试试2.0版本呢
回复

使用道具 举报

发表于 昨天 22:30 | 显示全部楼层
很不错,可惜不能指定打印页码
回复

使用道具 举报

发表于 昨天 22:30 | 显示全部楼层
就是要放出来看,强制看,因为有些人使用软件根本不看使用说明
回复

使用道具 举报

发表于 昨天 22:31 | 显示全部楼层
这些都是可以通过本地的office或是wps软件去设置页码,导出为pdf,再发送内网打印。能本地解决,就没必要在软件里加这个功能。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表