ошибка печати отчета, сделанного в jaspersoft studio из java-приложения в linux Deepin 15 - PullRequest
0 голосов
/ 06 ноября 2019

Я получаю эту ошибку только в Linux, в Windows она работает правильно

Цель Linux: Ubuntu 18.04 / Deepin 15.11 Версия Java: 1.8.0_221

Я получаю ошибку, когда даюдля печати в следующем диалоговом окне печати:

enter image description here

======== КОД

private void testDialogPrint() {

    try {

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

        Connection connection = DriverManager.getConnection("jdbc:sqlserver://x.x.x.x:1433;databaseName=abc","sa","****");

        HashMap<String, Object> params = new HashMap<String,Object>();;

        JasperPrint printedReport = JasperFillManager.fillReport("test.jasper", params, connection);

        String outputFilename = "Test.pdf";
        JasperExportManager.exportReportToPdfFile( printedReport, outputFilename );//file creation success

        JasperPrintManager.printReport(printedReport, true);


    } catch (ClassNotFoundException | SQLException | JRException e) {
        e.printStackTrace();
    }

}

========= ОШИБКА СООБЩЕНИЯ

net.sf.jasperreports.engine.JRException: Error printing report.
    at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:215)
    at net.sf.jasperreports.engine.JasperPrintManager.print(JasperPrintManager.java:246)
    at net.sf.jasperreports.engine.JasperPrintManager.print(JasperPrintManager.java:133)
    at net.sf.jasperreports.engine.JasperPrintManager.printReport(JasperPrintManager.java:329)
    at com.Start.imprimir(Start.java:46)
    at com.Start.main(Start.java:27)
Caused by: java.awt.print.PrinterIOException
    at sun.print.PSPrinterJob$PrinterSpooler.run(PSPrinterJob.java:737)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.print.PSPrinterJob.endDoc(PSPrinterJob.java:792)
    at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1562)
    at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1390)
    at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:201)
    ... 5 more
Caused by: java.io.IOException: Cannot run program "/usr/bin/lpr": error=2, No existe el fichero  o el directorio
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at java.lang.Runtime.exec(Runtime.java:620)
    at java.lang.Runtime.exec(Runtime.java:485)
    at sun.print.PSPrinterJob$PrinterSpooler.run(PSPrinterJob.java:730)
    ... 10 more
Caused by: java.io.IOException: error=2, No existe el fichero o el directorio
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 13 more

1 Ответ

0 голосов
/ 08 ноября 2019

Похоже, что Sun JDK жестко задан для / usr / bin / lpr. - https://kbpdfstudio.qoppa.com/printing-to-pdf-error-message-on-debian-gnulinux-7/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...