
全面的打印机监控源代码
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
全面的打印机监控源代码是一款功能强大的软件工具,旨在提供详尽的打印机使用情况跟踪与管理。通过深入分析和记录打印活动,该系统帮助用户优化资源利用效率,减少成本,并确保文档安全合规性。其开放式的源代码设计鼓励开发者社区进行创新和定制化开发,满足不同企业用户的特定需求。
为了实现客户端软件监控电脑打印动作并将内容转为图片上传至服务器的功能,可以采取以下步骤:
1. 使用API中的打印函数连接到指定的打印机,并尝试使用枚举函数获取有关打印作业的信息。
2. 根据获得的信息了解当前状态和即将打印的内容。然后找到该内容的位置并将其转换成图像格式,最后将这个图片上传至服务器。
技术挑战包括:
- 在打印枚举函数中找不到JOB_INFO_1 或 JOB_INFO_2结构的定义。(此问题已解决)
- 如何获取打印的具体内容(通过原始驱动或其它方法)。
另外,在文件传输给PDF打印机之前已经转换为RAW格式,因此可以考虑直接从缓冲池读取这些数据。据推测,当获得打印信息时会有一个参数与该RAW格式相对应,找到这个参数后才能继续对RAW文件进行操作。
根据微软的文档描述,打印机的输出通常有五种不同的方式:raw、text和emf(增强型图元文件)等。其中“Raw”指的是最原始的数据形式。
使用CreateDC函数设置打印设备场景时,“WINSPOOL”参数用于访问打印驱动程序并返回新设备场景句柄。
当前,虽然已经能够获取到EMF格式的图片并且监控功能也已实现,但如何将这些监控中的打印作业与生成出来的EMF图片关联起来仍是一个问题。此外,读取EMF图片的速度较慢。
一种可能的方法是通过RPC命名管道服务器来处理这个问题:服务器系统服务提供RPC支持以及文件、打印和命名管道在网络上的共享功能。这允许本地资源(如磁盘和打印机)被网络上其他用户访问,并且可以实现不同计算机之间的应用程序间通信,用于RPC的正是这种机制。
新的思路是考虑在shd文件中包含作业ID来建立联系,这样就可以更有效地处理打印监控任务了。
全部评论 (0)


