如何使用 Python+Flask+win32print 实现简易网络打印服务

Python 实现网络打印机:Flask + win32print

在工作场景中,我们可能需要一个简单的网页接口,供他人上传文档并自动打印到指定打印机。

本文将演示如何使用 Python + Flask + win32print 库来实现这一需求。

代码详见:https://github.com/poboll/webprint

1. 环境准备

  • Windows 10/11
  • Python 3.8+
  • 打印机(已安装并可用)
  • Flask
  • pywin32

安装依赖:

bash 复制代码
pip install flask pywin32

2. 代码实现

主要思路:

  1. 使用 Flask 提供一个上传文件的简单表单(HTML)
  2. 后端接收文件后,保存到临时目录
  3. 调用 win32print 设置默认打印机
  4. 使用 win32api.ShellExecute 执行"printto"操作

代码如下(app.py):

python 复制代码
import os
import time
import win32api
import win32print
from flask import Flask, request, render_template

app = Flask(__name__)
# ... 省略若干实现 ...

3. 注意事项

  • 要确保 doc/docx/pdf 在 Windows 系统中有默认程序关联
  • 打印机名称需要与实际安装的打印机匹配
  • 在内网使用时最好加上访问限制

4. 总结

通过这样的方式,我们可以轻松地在办公环境中实现一个简易"网络打印服务"。如需更多功能(用户管理、打印记录统计、队列优先级等),可继续在此基础上扩展。

相关推荐
盼小辉丶10 分钟前
PyTorch强化学习实战——融合人类示范数据的高效强化学习
人工智能·pytorch·python·深度学习·强化学习
葡萄城技术团队15 分钟前
工业数据可视化:使用活字格 AIcoding + Three.js 构建轻量化三维设备监控大屏
开发语言·javascript·信息可视化
qiaosaifei19 分钟前
JAVA老项目中有大量的类名_编译时报找不到符号错误
java·开发语言
聪明蛋子哟23 分钟前
MCP协议深度落地:如何用Python/Java双语言实现统一的工具调用网关?
java·开发语言·python
李妍.37 分钟前
PyTorch GPU 版安装记录(RTX 5060 + Python 3.14)
人工智能·pytorch·python
90后的晨仔40 分钟前
Python 基础语法完整汇总
python
广慈新医知42 分钟前
当健康问题越来越复杂,AI更适合先帮我们“把问题问清楚”
人工智能·python
一晌小贪欢43 分钟前
python-第27天:Python面向对象详解
开发语言·python·数据可视化·面向对象·python办公
青 春 记 忆1 小时前
LeetCode 350. 两个数组的交集 II|Python 解法详解
python·算法·leetcode
ZGG0031 小时前
线程池详解:从 7 大参数到生产避坑
java·数据库·后端