HP LaserJet M1213nf MFP打印机,Fedora21上浏览器中打印不正常

按网上的方法,先去除hplip驱动。
再使用foo2xqx驱动安装,能够自动识别打印机。
但是,系统选择的打印机是“HP-LaserJet_Pro_M1212nf_MFP”,型号差一个数字。

在WPS中打印文字、图片都是正常的。
但是在firefox中,测试打印纯文字内容是正常的,打印有图片的内容会出现不正常的黑块。
其问能解决吗?
已邀请:

loongnix

赞同来自: fubaojun2006

HP LaserJet M1213nf MFP打印机

打印这个图片1.pbm异常

测试方法:
# yum remove hplip*   (先去除不能用的hplip驱动,只使用开源驱动)
在控制中心-打印机,添加USB打印机。使用驱动程序“HP-LaserJet_Pro_M1212nf_MFP“


$ foo2xqx -D 9 -r1200x600 -g1728x2376 -p9 -m1 -n1 -d1 -s7 -u 176x84 -l 176x84 -T3 1.pnm > 1.zm
$ lp 1.zm

(1.pbm在附件1.zip中)

0316_2.jpg

 

loongnix

赞同来自: fubaojun2006

经过几天排查,最终找出这个bug是开源库jbigkit的一个bug。

foo2xqx会将要打印的图片转化成打印机使用的XQX协议。这个转换过程会把图片进行压缩,压缩时调用的是jbigkit的库。由于这个库处理某些特征的字节流时处理不正确,导致打印机理解异常。
修正的代码patch:
From 2a4ebaf66cb1a355e3d77839cb85ecfc71f53162 Mon Sep 17 00:00:00 2001
From: Jin Guojie <jinguojie@loongson.cn>
Date: Tue, 21 Mar 2017 10:50:22 +0800
Subject: [PATCH] 2017/3/20 Fix jbig.c for HP LaserJet M1213nf MFP

http://10.2.5.21:8000/projects/qa/wiki/Jgj-QA-2017-3-19_

diff --git a/libjbig/jbig.c b/libjbig/jbig.c
index 751ceff..10ba7f1 100644
--- a/libjbig/jbig.c
+++ b/libjbig/jbig.c
@@ -889,7 +889,7 @@ void jbg_enc_options(struct jbg_enc_state *s, int order, int options,
if (order >= 0 && order <= 0x0f) s->order = order;
if (options >= 0) s->options = options;
if (l0 > 0) s->l0 = l0;
- if (mx >= 0 && my < 128) s->mx = mx;
+ if (mx >= 0 && mx < 128) s->mx = mx;
if (my >= 0 && my < 256) s->my = my;

return;
@@ -1015,7 +1015,7 @@ static void encode_sde(struct jbg_enc_state *s,
clmax = (c[0] > cmax) ? c[0] : cmax;
if (c_all - cmax < (c_all >> 3) &&
cmax - c[s->tx[plane]] > c_all - cmax &&
- cmax - c[s->tx[plane]] > (c_all >> 4) &&
+ cmax - c[s->tx[plane]] < (c_all >> 4) && /* 2017/3/20 Fix it for HP LaserJet M1213nf MFP */
/* ^ T.82 said < here, fixed in Cor.1/25 */
cmax - (c_all - c[s->tx[plane]]) > c_all - cmax &&
cmax - (c_all - c[s->tx[plane]]) > (c_all >> 4) &&
--
2.1.0
Fedora21的jbitkit包加入这个patch,打印就正常了。
下一版Fedora21将集成这个修正。
 

loongnix

赞同来自: fubaojun2006

又经过大量测试,功能基本完善。
但是发现打印大文档(10MB doc)时,从WPS打印开始,到打印机开始有动作,有1分钟时间的延迟,体验很不好。Linux的打印问题还是很多。

loongnix

赞同来自:

网络打印也能够正常使用,速度还比较快。
设备URI:socket://10.110.0.200:9100
生产和型号:HP LaserJet Professional M1212nf MFP Foomatic/foo2xqx (recommended)

fubaojun2006

赞同来自:

赞!

要回复问题请先登录注册