在Ubuntu中使用textPrinter进行打印

时间:2011-06-23 07:15:44

标签: java printing network-printers

我使用this library进行打印,而我正在使用Ubuntu。

我的代码如下:

FilePort port=new FilePort("\\\\printerIp:631\\printers\\Hewlett-Packard-HP-LaserJet-Professional-P1606dn");
TextPrinter printer=PrinterFactory.getPrinter("HP-PCL5");

但是我无法打印。当我使用

FilePort port=new FilePort("\home\hi.txt")

文本将打印在hi.txt文件中。

我试过\dev\lpr,但它给了我错误

com.java4less.textprinter.exceptions.CouldNotOpenPrinterException: /dev/lpr (Permission denied)
FilePort port=new FilePort("\dev\lpr");

这是我的完整源代码

try {

    FilePort port = new FilePort("\\\\10.9.42.136:631\\printers\\Hewlett-Packard-HP-LaserJet-Professional-P1606dn");
    // get printer supporting HP-PCL command set
    TextPrinter printer = PrinterFactory.getPrinter("HP-PCL5");

    // create printing job
    JobProperties job = printer.getDefaultJobProperties();
    job.landscape = true;
    printer.startJob(port, job);

    // print BOLD text
    TextProperties prop = printer.getDefaultTextProperties();
    prop.bold = true;
    printer.printString("This must be BOLD", prop);
    printer.newLine();
    printer.newLine();
    printer.printString("Hello world..", prop);
    // print line
    printer.printHorizontalLine(5,0,80);            // row 5, column 0 to 80

    printer.endJob();

} catch (Exception e) {
    e.printStackTrace();
}

请帮帮我。

1 个答案:

答案 0 :(得分:1)

您需要先修改一些权限,试试这个

/etc/cups/cupsd.conf中编辑文件

搜索 lpadmin 并将其更改为 lp