https://github.com/hgjazhgj/printerpagecoverage
计算打印页面覆盖率 How much ink was used to print this document
https://github.com/hgjazhgj/printerpagecoverage
Last synced: 3 months ago
JSON representation
计算打印页面覆盖率 How much ink was used to print this document
- Host: GitHub
- URL: https://github.com/hgjazhgj/printerpagecoverage
- Owner: hgjazhgj
- Created: 2022-10-16T19:20:22.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-23T01:39:37.000Z (about 1 year ago)
- Last Synced: 2025-02-02T03:23:03.236Z (4 months ago)
- Language: Python
- Size: 3.91 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# 获取文档打印时的页面覆盖率
## 运行
### 计算黑白文档
```sh
pageCoverage.py file [file ...]
```接收至少一个参数,每个参数是一个pdf文件名
也就是说,可以在Windows资源管理器中选中所有你要统计的**pdf文件**,把它们拖到源码文件上
运行完成时,变量`ink`的数值代表使用的墨水能够涂满(100%覆盖率)的A4纸张的数量
通常,购买墨水/墨粉时会标明可打印页数,这个数值代表一个墨盒能(用单一颜色)把多少张A4普通纸以默认参数涂满5%,在现有的源码中,最后输出的三个数的前两个代表所有这些文件的平均页面覆盖率/对应多少页5%覆盖的A4纸,第三个数代表在我刚买的墨盒里这些墨水值多少钱### 计算彩色文档
```sh
pageCoverage.py --CMYK file [file ...]
```每个输入文件是一个分色文档(在Adobe Acrobat Pro中依次:打印-打印机-Adobe PDF-高级-输出-颜色-分色,另请选择需要的色彩配置文件)
将每页的计算结果分配到各个颜色通道上
支持更多/更少颜色以应对淡红/淡蓝/金/银等特种打印需求,`--CMYK`等价于`--ink 4 --ink-name C M Y K --ink-color 00FFFF FF00FF FFFF00 FFFFFF`有`fromfile_prefix_chars='!'`,其他参数请查阅`--help`
## 说明
在Windows下编写与测试,mac应该也能用,Linux需要修改一些并行的实现
个人购买打印机的意义在于使得能打印的东西都可以打印出来,提高生活品质,我总是在想我到底使用了多少墨水,但是找不到一个现有的工具,虽然知道墨水用量也没什么用,顶多看看商家有没有虚标,但是我还是想知道一下
实际的打印算法非常复杂且被各种专利保护,本项目作出以下假设:- 按文档描述的尺寸打印
- 没有打印边界
- 打印机不管理颜色
- 没有废墨对于彩色模式,计算是精确的
对于黑白模式,本人使用CMYK四色epson打印机在普通纸上打印灰度的色情漫画,程序输出34%的页面覆盖率,标示250页的黑色墨盒在打印40页后耗尽,同时彩色墨盒大约消耗了一半(难以精确计量),理论与实践几乎完全契合
~~为什么是色情漫画?因为正常的东西可以白嫖实验室打印机~~
其他类型的文档暂无支持的计划,word等难以单凭python确定会被打印出来的内容,图片等不以页面为单位的文件需要额外的布局参数