• 打印机硒鼓页产量1600页,页产量根据ISO19752标准(5%覆盖率),那么5%的覆盖率是什么概念,我们应该怎么计算呢?
  • 打印机打印页面5%的覆盖率,是指常态下墨水在纸张上覆盖的面积比例,也就是墨水所覆盖的面积相对于整张打印纸面积的百分比。打印纸面积好计算,墨水所覆盖的面积即每一个字黑色部分占的面积,这就比较难计算了。如果把打印文件当成一张图片,也就是计算黑色像素占整张图片的面积,像素数应该很好数吧。
  • 首先,打开PS,新建一个宽度210MM,高度297MM大小的白色的背景当成A4纸,分辨率默认就好,当然分辨率越大越准确。
  • echo打印被覆盖 什么是打印覆盖率_echo打印被覆盖

  • 然后找到文字工具
  • echo打印被覆盖 什么是打印覆盖率_echo打印被覆盖_02

  • 随便写点内容,保存为图片格式,我这里做了两张并且保存成了PNG文件。
  • echo打印被覆盖 什么是打印覆盖率_Image_03


  • echo打印被覆盖 什么是打印覆盖率_像素点_04

  • 好了,A4纸有了,下面就是用PIL的Image类,Image类的getpixel方法可以得到每个像素点的值,黑白模式下白色像素点的值是255,黑色像素点的值是0,遍历每个像素,计算黑色像素数占全部像素数的百分比,就是每一个字黑色部分占的面积即覆盖率。
  • 具体实现代码
from PIL import Image

img = Image.open(r'C:\Users\Administrator\Desktop\A4纸1.png')  #打开图片并实例化对象
img = img.convert('1')        								   #1黑白模式,每字节一个像素存储
L, H = img.size
color_white = img.getpixel((0, 0))                             #纸张左上角一点,应该是白色的
print(color_white)
color_white_list = []                                          #白色像素数目列表
color_black_list = []                                          #黑色像素数目列表
for h in range(H):                                             #遍历全部像素
    for l in range(L):
        dot = (l, h)
        color_list = img.getpixel(dot)
        if color_list == color_white:
            color_white_list.append(color_list)
        else:
            color_black_list.append(color_list)
print(len(color_black_list), len(color_white_list))
print(len(color_black_list)/(len(color_white_list)+len(color_black_list)))
#黑色像素占全部像素的百分比 格式化显示
print('{:.2%}'.format(len(color_black_list)/(len(color_white_list)+len(color_black_list))))
  • 运行,看结果。
  • echo打印被覆盖 什么是打印覆盖率_像素点_05


  • echo打印被覆盖 什么是打印覆盖率_echo打印被覆盖_06

  • 完成,如果只是正常的打印任务,一般是达不到5%的覆盖率;如果一张纸全部写满字,对纸张的覆盖面积就大,就要超过5%了。