Skip to content

这是一个基于Web的本地打印服务系统,允许网页应用直接调用本地打印功能。通过浏览器发送打印请求到本地服务,实现PDF和图片文件的预览和打印功能。系统提供直观的预览界面,支持多种纸张大小和打印份数设置。

Notifications You must be signed in to change notification settings

jvmkit/Web_Print

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Web_Print 打印服务

项目简介

这是一个基于Web的本地打印服务系统,允许网页应用直接调用本地打印功能。通过浏览器发送打印请求到本地服务,实现PDF和图片文件的预览和打印功能。系统提供直观的预览界面,支持多种纸张大小和打印份数设置。

功能特点

  • 支持浏览器直接调用本地打印服务
  • 支持PDF和常见图片格式(PNG、JPG、JPEG、BMP)的预览和打印
  • 提供实时预览功能,包括缩放和页面导航
  • 支持多种纸张大小(A3、A4、A5、B4、B5)
  • 支持设置打印份数
  • 提供标尺辅助功能,帮助确定文档尺寸
  • 支持选择本地打印机
  • RESTful API接口,方便Web应用集成

技术栈

  • Python 3.x
  • Flask (Web服务器)
  • PyMuPDF (PDF处理)
  • Pillow (图片处理)
  • PyWin32 (Windows打印支持)
  • Tkinter (GUI界面)

安装说明

  1. 克隆或下载项目到本地

  2. 安装依赖包:

    pip install -r requirements.txt

使用方法

  1. 启动本地打印服务:

    python print_server.py

    服务将在 http://127.0.0.1:5000 启动

  2. 在Web应用中集成打印功能:

    • 获取本地打印机列表:

      GET http://127.0.0.1:5000/api/printers
      
    • 发送打印任务:

      POST http://127.0.0.1:5000/api/print
      Content-Type: multipart/form-data
      file: <文件>
      
  3. 打印预览窗口功能:

    • 选择本地打印机
    • 设置纸张大小
    • 设置打印份数
    • 使用缩放和预览功能查看文档
    • 点击"打印"按钮发送到打印机

注意事项

  1. 仅支持Windows系统
  2. 需要安装Python 3.x
  3. 确保系统已正确安装并配置打印机
  4. 临时文件会自动清理
  5. 支持的文件类型:
    • PDF文件 (.pdf)
    • PNG图片 (.png)
    • JPG/JPEG图片 (.jpg, .jpeg)
    • BMP图片 (.bmp)

常见问题

  1. Q: 为什么打印预览窗口没有显示? A: 确保系统支持GUI显示,且运行Python时有适当的权限。

  2. Q: 如何处理不支持的文件格式? A: 系统会显示错误提示,请确保上传支持的文件格式。

  3. Q: 打印质量如何调整? A: 系统会自动适配打印机的最佳分辨率,无需手动调整。

技术支持

如遇到问题,请检查控制台输出的错误信息,系统会提供详细的错误堆栈信息以帮助诊断问题。

About

这是一个基于Web的本地打印服务系统,允许网页应用直接调用本地打印功能。通过浏览器发送打印请求到本地服务,实现PDF和图片文件的预览和打印功能。系统提供直观的预览界面,支持多种纸张大小和打印份数设置。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published