当前位置:首页 > 经验杂谈 > 信息技术

麒麟系统打印机Generic PCL Laser Printer驱动无法短边翻页?竟是运算符优先级惹的祸

问题描述

上文,随后有人报告在打印小册子等需要短边翻页双面打印的产物时,无论如何设置短边翻译,打印出来的都是长边翻页,表现为偶数页全部是上下颠倒的。

问题原因

使用腾讯WorkBuddy(CodeBuddy)对代码库OpenPrinting/cups: OpenPrinting CUPS Sources进行审查之后,发现问题根源位于:

//filter/rastertohp.c:186
int mode = Duplex ? 1 + header->Tumble != 0 : 0;
//由于运算符优先级,实际上等于下面的代码
int mode = Duplex ? ((1 + header->Tumble) != 0) : 0;
//要实现功能和意图的正确代码:
int mode = Duplex ? 1 + (header->Tumble != 0) : 0;

解决方法

※注意:该方法仅在银河麒麟上试过,因为是基于银河麒麟构建的DEB包,其他信创系统可能兼容也可能不兼容,还请注意

printer-driver-pcl-shortedge-fix_1.0-1_amd64.zip

SHA256 的 printer-driver-pcl-shortedge-fix_1.0-1_amd64.deb 哈希:

f7e863646bd136e69e6c1f2fe47e6b0500ebdff133b4bd63f00cc8d928ce911d

1.下载到桌面等地后双击,并安装。

image.png

2.在开始菜单找到“打印机”,并打开。

image.png

3.点击驱动名称(拍照或者抄写驱动名称,万一不行可以改回去)

image.png

4.选择“从驱动库中选择”

image.png

5.选择如图所示的驱动。

image.png

6.点击确定后进行测试,看看能否正常工作,如果不行则改回原来的驱动。如果有任何问题,可以通过页面底部的表单联系我。

扫描二维码推送至手机访问。

版权声明:本文由网络搭建经验谈发布,如需转载请注明出处。


本文链接:https://www.netlab.ac.cn/post/14.html

分享给朋友:

相关文章

Discuz X5.0通过连接已有UCenter方式安装时出现白屏或500的解决方法

问题描述当在Discuz X5.0的过程中,通过连接已有UCenter方式安装时出现白屏,响应码为500,响应体为空。问题原因由于无法输出任何错误信息,查看log文件也是一无所获,因此通过注册一个结束…

如何在银河麒麟系统上添加富士施乐 DocuPrint P355d等未适配打印机

问题描述某单位进行国产系统改造,将原本的操作系统更改为银河麒麟系统,但发现富士施乐官网没有提供P355d的Linux驱动程序,在添加打印机时也无法自动匹配驱动,导致原有的打印机无法使用。解决方法对于黑…

在永中简报多合一打印(讲义打印)时删除右上角日期的方法

在永中简报多合一打印(讲义打印)时删除右上角日期的方法

问题描述使用永中Office中的永中简报进行多合一打印(讲义打印)时,右上角显示日期,不知道如何关闭。如图所示。解决方法在“视图”处找到并点击“讲义母版”。…