LINUX:lpr不能打印,可以试试lp

简介: LINUX:lpr不能打印,可以试试lp

同事抱怨说,吾司产品,同一家的LINUX,有的架构能打印,有的架构不能打印。吾试了一下,报错:

Caused by: java.io.IOException: error=1 running: ‘/usr/bin/lpr’ ‘-PABC-123-Series’ ‘-JJava Printing’ ‘/tmp/javaprint133.ps’
lpr: ABC-123-Series: unknown printer

单独执行lpr,卡住;加个参数(如打印机),报错。怎么办?看了一下PSPrinterJob的代码,注意到有个函数printExecCmd,其中代码如下:

    private String[] printExecCmd(String printer, String options,
                                  boolean noJobSheet,
                                  String banner, int copies, String spoolFile) {
       if ((osname.equals("Linux") || osname.contains("OS X"))) {
            execCmd[n++] = "/usr/bin/lpr";
        } else {
            execCmd[n++] = "/usr/bin/lp";
        }

当lpr出错的时候,能不能再执行一次lp?于是吾在调用的地方做了个处理,果然可以了。

目录
相关文章
【Linux】直接打印堆栈调试信息
【Linux】直接打印堆栈调试信息
【Linux】直接打印堆栈调试信息
|
安全 Linux
2021-11-15 Linux杀毒暂时没写输出和打印以及邮箱上传
2021-11-15 Linux杀毒暂时没写输出和打印以及邮箱上传
113 0
|
Shell Linux
linux shell之控制台打印各种颜色字体和背景
linux shell之控制台打印各种颜色字体和背景
374 0
linux shell之控制台打印各种颜色字体和背景
|
Java Linux
在红旗LINUX loongarch上,可以正常打印,lpr卡死
在红旗LINUX loongarch上,可以正常打印,lpr卡死
104 0
|
机器学习/深度学习 Linux
Linux使用cups进行打印
Linux使用cups进行打印
224 0
|
Linux 数据安全/隐私保护 Ubuntu
Linux基础命令---lpq查看打印队列
lpq       lpq指令用来显示当前打印队列的状态。如果命令行中没有指定打印机或类,则将显示默认目标上排队的作业。       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、openSUSE、SUSE。
1249 0
|
Linux 数据安全/隐私保护 Ubuntu
Linux基础命令---cancel取消打印
cancel       cancel指令用来取消已经存在的打印任务。       此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、openSUSE、SUSE。1、语法       cancel  [ -E ]  [ -U username ]  [ -a ] ...
1357 0
|
Java Linux 数据安全/隐私保护
wkhtmltopdf+itext实现html生成pdf文件的打印下载(适用于linux及windows)
目中遇到个根据html转Java的功能,在java中我们itext可以快速的实现pdf打印下载的功能,在itext中我们一般有以下三中方式实现 配置pdf模板,通过Adobe Acrobat 来设置域最后通过代码将数据填充进去 通过FreeMarker或thymeleaf配置html模板填充数据 Jsoup+XMLWorkerHelper 对于上述的三种方式,我简述下我的体验:第一种方式对于入门简单,如果我们需求中的pdf文件是表格或者报表的样式还是很好实现的,但如果遇到要求和html样式一致的话就基本歇菜了。
3507 0