背景

由于业务需要,需要hi3531d主板上加入对于HP打印机的支持。
通过与产品经理,技术主管的沟通;通用支持是不现实的,只要求彩色打印,先不考虑打印机的价格,只要支持一款打印机即可。

注意:

Linux下支持打印机有很多局限性,并非每一种打印机型号都被支持。惠普打印机的支持是最好的。

过程:


根据网友的资料,有关Linux打印系统只要从上到下能够连一条线通即可组成一套打印系统。

寻找合适的软件方案:

  • 使用CUPS + IJS:
    前往:"Open Printing"进行查找。根据支持的型号翻阅了淘宝,京东,亚马逊。
    此时,发现有人实现了 CUPS+ IJS(HPLIP)的方案。
    hlip由HP厂商直接提供的支持驱动,但这些驱动针对桌面系统,需要自己进行编译移植:"http://www.openprinting.org/download/ijs/"

    由于选型打印机比较困难,研发成本比较高,而且很多出现在列表中的打印机已经停产买不到了。
    遂放弃此方案,但此方案是有可行性的。(剩下编译gutenprint不通过:《 Android遇上打印机》)

  • 使用foo2zjs + ghostscript:
    foo2zjs 系列支持一部分的打印机,像foo2zjs、foo2hiperc、foo2xqx、foo2hbpl、foo2lava都有默认的打印机支持。
    (如果foo2zjs已支持,直接用foo2zjs将ppm文件转换成打印机支持的流,传入打印机即可打印。)

添加foo2zjs工具(用于发送数据到打印机进行打印);
添加gohstscript工具(用于转换文档格式到打印机能识别的pbm格式);
[可选]添加enscript,用于把txt,c,cpp等文档转换到打印机能识别的PostScript格式;

arm linux 移植支持 HP打印机的更多相关文章

  1. arm linux 移植 x265

    背景 本来想着把 x265编译到ffmpeg里面,搞定了x265的编译:但是一直报ERROR: x265 not found using pkg-config这个错误,我按照网上的资料,查看了ffbu ...

  2. Linux 安装 go 以及 arm linux 移植 go

    背景 Go是一门全新的静态类型开发语言,具有自动垃圾回收,丰富的内置类型,函数多返回值,错误处理,匿名函数,并发编程,反射等特性. 从Go1.4之后Go语言的编译器完全由Go语言编写,所以为了从源代码 ...

  3. arm linux 移植 MQTT (paho、mosquitto)

    前言 我们在这里做2件事情: 1)编译 paho.mqtt.mosquitto 2个开源项目的c版本库(mosquitto库没有用上) 2)编译好 依赖 paho.mqtt的库编写例程 + mosqu ...

  4. arm linux 移植 ffmpeg 库 + x264

    背景 Ffmpeg 中带有h264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx264. ...

  5. arm linux 移植 PHP

    背景: PHP 是世界上最好的语言. host平台 :Ubuntu 16.04 arm平台 : 3531d arm-gcc :4.9.4 php :7.1.30 zlib :1.2.11 libxml ...

  6. arm linux 移植 gdb/gdbserver

    背景 调试工具gdb的使用对于嵌入式Linux开发人员来说是一项不可少的技能. 目前,嵌入式 Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机 ...

  7. arm linux 移植 udhcp 与 使用

    背景 在一些网络环境下,需要静态IP不够现实,需要使用DHCP进行自动获取IP地址. udhcpc是一个面向嵌入式系统的非常小的DHCP客户端,字母的缩写微μ- DHCP -客户端client(μDH ...

  8. arm linux 移植 rsync

    背景: 在产品开发中可以使用rsync进行大文件的拷贝,断点续传. host平台 :Ubuntu 16.04 arm平台 : 3531d   rsync   :3.1.3 arm-gcc :4.9.4 ...

  9. arm linux 移植 jpeg

    背景: host平台 :Ubuntu 16.04 arm平台 : S5P6818 jpeg :v9c arm-gcc :4.8.1 主机准备: 运行以下脚本: ## # Copyright By Sc ...

随机推荐

  1. java web 学生信息录入

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  2. 启动named服务报错!

    安装及配置bind服务程序: yum -y install bind 三个关键文件: 主配置文件(/etc/named.conf) 区域配置文件(/etc/named.rfc1912.zones) 数 ...

  3. 关于cmd的命令行参数的问题

    最近学习Java了解到发现需要配置环境变量其中Path需要更改为 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 而这样的行为无意间导致了win中cmd的一些参数无法使用,比 ...

  4. php 基础知识 常见面试题

    1.echo.print_r.print.var_dump之间的区别 * echo.print是php语句,var_dump和print_r是函数 * echo 输出一个或多个字符串,中间以逗号隔开, ...

  5. ubuntu开启mysql远程连接,并开启3306端口

    mysql -u root -p 修改mysql库的user表,将host项,从localhost改为%.%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip mysql& ...

  6. VB.NET中Sub和Function的区别

    function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有 function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值. Sub 过程与Functio ...

  7. vue element多图上传

    最近项目需要优化图片上传,由单个改成多个,这里记录下自己遇到的一些问题和解决方法 本以为是传全部图片到后台,然后统一处理,但后面在Network中发现upload组件其实还是单一上传,那只能依照它的方 ...

  8. 循环读取寄存器(QSFP-DD)并且分别保存log

    #!/bin/bash ####################################################################### #Created by: Bin ...

  9. Checked exceptions: Java’s biggest mistake-检查型异常:Java最大的错误(翻译)

    原文地址:http://literatejava.com/exceptions/checked-exceptions-javas-biggest-mistake/ 仅供参考,毕竟我四级都没过 Chec ...

  10. 常见Http状态码大全详解

    HTTP状态码的分类 HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用.HTTP状态码共分为5种类型: 具体如下: 状态码 内容 详细内容 信息告知 - ...