No print service found ошибка

I started to create a simple Java application to print «Hello World» with the following code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.print.*;

public class HelloWorldPrinter implements Printable, ActionListener { 

public int print(Graphics g, PageFormat pf, int page) throws
                                                    PrinterException {

    if (page > 0) { /* We have only one page, and 'page' is zero-based */
        return NO_SUCH_PAGE;
    }

    /* User (0,0) is typically outside the imageable area, so we must
     * translate by the X and Y values in the PageFormat to avoid clipping
     */
    Graphics2D g2d = (Graphics2D)g;
    g2d.translate(pf.getImageableX(), pf.getImageableY());

    /* Now we perform our rendering */
    g.drawString("Hello world!", 100, 100);

    /* tell the caller that this page is part of the printed document */
    return PAGE_EXISTS;
}

public void actionPerformed(ActionEvent e) {
     PrinterJob job = PrinterJob.getPrinterJob();
     job.setPrintable(this);
     boolean ok = job.printDialog();
     if (ok) {
         try {
              job.print();
         } catch (PrinterException ex) {
          /* The job did not successfully complete */
         }
     }
}

public static void main(String args[]) {

    UIManager.put("swing.boldMetal", Boolean.FALSE);
    JFrame f = new JFrame("Hello World Printer");
    f.addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {System.exit(0);}
    });
    JButton printButton = new JButton("Print Hello World");
    printButton.addActionListener(new HelloWorldPrinter());
    f.add("Center", printButton);
    f.pack();
    f.setVisible(true);
}
} 

This doesn’t work, I get a «No print service found» alert message.

I am using Ubuntu 12.04 and the Java version is 1.7.0_25.

How can I get rid of this alert?

Принтер – это устройство для вывода на печать цифровых данных. На сегодняшний день практически каждый имеет такой аппарат дома. Различают множество разнообразных моделей. Делят их как по принципу печати (лазерные, струйные, матричные), так и по функциональности (фотопечать, поддержка различных форматов, предварительная обработка, двусторонняя печать).

Каким бы современным не был ваш аппарат, каждый может столкнуться с проблемами. Многие из них можно решить самостоятельно, не обращаясь в службу поддержки, в особенности, если ошибка программного характера.

Принтер выдает ошибку

Есть несколько причин возникновения ошибок, связанных с принтером или печатью, их можно разделить на две категории.

Первая – программные:

  1. каждый современный принтер имеет специальную программу, кроме драйвера, облегчающую работу с ним. Иногда, если ПО установлено неправильно или удалено, вывод на печать не возможен, даже если сам драйвер остался. В таком случае при попытке отправки на печать одного или нескольких файлов можно увидеть системное сообщение;
  2. кроме того, программа может быть повреждена вирусами. Если ваш компьютер был заражен, и ошибка появилась после его лечения, необходимо переустановить ПО;

    Устраняем ошибки, если принтер не хочет печатать

  3. также, с устройством может возникнуть проблема, связанная с конфликтом драйверов. Чаще всего это случается с несколькими принтерами, подключенными к одному компьютеру, или при работе со многими аппаратами через локальную сеть.

Вторая причина возникновения ошибок – аппаратные, которые связаны непосредственно с самим устройством, как например:

  1. принтер периодически выключается или выдает ошибку, что может работать быстрее (проблема может быть вызвана USB портом, соединяющим шнуром или драйвером);

    Устраняем ошибки, если принтер не хочет печатать

  2. если картридж плохо вставлен, или соединяющий чип запачкан тонером или чернилами, устройство выдаст сообщение, связанное с заменой картриджа;
  3. также ошибки возникают в случае, если бумага замялась или закончилась;

    Устраняем ошибки, если принтер не хочет печатать

  4. самое распространенное сообщение от аппарата, – «чернила или тонер заканчиваются».

На самом деле системных сообщений от современного принтера намного больше. Но все, так или иначе, связаны с заправкой/заменой картриджа или застрявшей бумагой, а также перегревом устройства.

Большинство проблем с неработающим картриджем возникает после его заправки, поскольку многие из них имеют защиту от производителя в виде специальных счетчиков и датчиков.

Проверка настроек ОС и устройства

Если вы столкнулись с тем, что устройство не выводит на экран никаких сообщений, и при отправке файла на печать ничего не происходит, то прежде чем обращаться в сервисный центр с вопросом: «что делать принтер перестал печатать, проверьте настройки подключения аппарата, а также операционой системы.

Чтобы это сделать первым делом следует проверить, правильно ли подключено устройство к компьютеру, и видит ли его операционная система.

Для этого следует:

  • открыть диспетчер задач и найти необходимое устройство;
  • оно должно быть в списке и соответствовать наименованию вашего аппарата;
  • напротив него не должно быть обозначений ошибочного подключения, конфликта или отключения (желтый восклицательный знак или красный крест).

Теперь нужно проверить, правильность настроек самого аппарата.

В случае если печать не начинается, проблем может быть несколько:

  • неправильно указан порт подключения;

    Устраняем ошибки, если принтер не хочет печатать

  • сменился адрес или имя компьютера, к которому подключен сетевой принтер;
  • не работает устройство, которое является связующим для подключения по сети (роутер, маршрутизатор, компьютер);
  • неверно выбран принтер, как устройство по умолчанию;

    Устраняем ошибки, если принтер не хочет печатать

  • в настройках аппарата стоит запрет на вывод определенного типа данных.

    Устраняем ошибки, если принтер не хочет печатать

Для проверки этих данных необходимо обратиться к «Панели управления» и выбрать пункт «Устройства и принтеры». Тут можно изменить устройство для печати, выбранное по умолчанию (правой кнопкой мыши вызвав меню и активировав соответствующую галочку). В свойствах аппарата – проверить правильность настройки.

Устраняем ошибки, если принтер не хочет печатать

Если подключение к сетевому аппарату невозможно, лучше обратиться за помощью к пользователю удаленного компьютера или сетевому администратору.

Установлен ли драйвер?

При первичном подключении любого устройства к компьютеру необходима установка драйверов. В случае с принтерами лучше устанавливать не только драйвер, но и программу для работы с устройством. ПО практически всегда поставляется на диске вместе с аппаратом и также содержит инструкцию на нескольких языках.

Изредка в дорогих моделях программное обеспечение предоставляется на USB-флешке. Чтобы проверить, правильно ли установлен драйвер, необходимо зайти в «Диспетчер устройств» операционной системы Windows.

Устраняем ошибки, если принтер не хочет печатать

Для этого следует:

  • левой кнопкой мыши нажать на «Мой компьютер» на рабочем столе или «Компьютер» в меню «Пуск» и вызвать «Свойства»;
  • в меню слева выбрать «Диспетчер…»;
  • проверить перечень на наличие вашего устройства.

Аппарат должен находиться в категории «Принтеры и сканеры». Его название должно соответствовать точно или приблизительно названию вашего устройства (в случае если драйвер универсален, или программно-аппаратная часть не изменялась с прошлой модели).

Например, у вас модель Canon Pixma MP 280, в диспетчере задач может отображаться как Canon Pixma MP 200 или MP 2.

Видео: Не печатает принтер

Занята очередь печати

Если вы уверены, что принтер работает но не печатает, необходимо проверить, не занята ли очередь печати. Большинство современных устройств с полностью установленным программным обеспечением сами выводят на экран подобную ошибку. Однако это не всегда происходит.

В таком случае нужно самому проверять очередь на печать. Сделать это можно, вызвав программу драйвера из трея (значок возле часов). Однако этот способ не всегда подходит для тех, кто пользуется аппаратом по сети.

Устраняем ошибки, если принтер не хочет печатать

Наиболее часто с проблемой очереди печати сталкиваются пользователи обширных сетей при работе с общим принтером. В таком случае одно задание может состоять из множества частей. Например, если оно очень большое, программа могла сама поделить его для того, чтобы не перегружать внутреннюю память устройства.

Кроме того, корпоративная практика показывает, что очень часто встречаются случаи, когда одно задание не завершилось полностью из-за ошибок (закончилась или замялась бумага, перегрелся принтер), и было послано еще одно и еще.

Устраняем ошибки, если принтер не хочет печатать

В зависимости от модели аппарат может не обращать внимания на недоработанные задания и продолжать работать, пока его память полностью не забьется подобными фрагментами. Или же сразу не давать продолжить работу.

Выхода может быть два:

  • проверить очередь печати и очистить её на том компьютере, к которому подключен принтер;
  • некоторые аппараты требуют физического воздействия, то есть квитирования ошибок и удаления очереди печати кнопками непосредственно на нём.

    Устраняем ошибки, если принтер не хочет печатать

Что делать, если принтер не печатает после заправки картриджа

Пользователи, которые пробовали сами произвести заправку картриджа, его очистку, или отмачивание в специальном растворе, нередко сталкиваются с такой проблемой: принтер перестал печатать, что делать теперь?

Заправка картриджа – это сложная операция, содержащая множество нюансов, которые пользователи не учитывают, поэтому потом обращаются в сервисный центр с более серьезными проблемами.

Устраняем ошибки, если принтер не хочет печатать

Всё дело в том, что каждое устройство требует индивидуального подхода, когда речь идет о заправке. Первым делом необходимо узнать о том, не снабжен ли картридж специальными защитами и чипами, почитать, не стоит ли на нем счетчик страниц или другая хитроумная опция производителей.

Кроме того, заправляя картридж самостоятельно, очень важно следить, чтобы не «завоздушить» систему подачи чернил в случае со струйными принтерами. А на лазерном устройстве – не запачкать, не поцарапать барабан или не сбить пружину, фиксирующую шестеренки.

Устраняем ошибки, если принтер не хочет печатать

В любом случае, если после перезаправки принтер работает, но не печатает, нужно обратиться к профессионалам, в мастерскую, чтобы не испортить его окончательно. Цены на картриджи иногда составляют половину стоимости всего устройства, так что следует быть очень осторожным при заправке.

Иногда бывают случаи высыхания картриджей с чернилами. Поэтому после перезаправки обязательно напечатайте несколько страниц для проверки. Если же это не дало результатов, картридж требует отмачивания в специальном растворе.

Устраняем ошибки, если принтер не хочет печатать

Большинство проблем с принтером возникает из-за программных ошибок, но с ними легко разобраться самостоятельно, не обращаясь в компьютерную мастерскую. В случае если ошибки не устраняются, следует обратиться к специалисту.

Когда требуется перезаправка картриджа, необходимо внимательно изучить всю информацию и четко следовать инструкциям, а для принтеров со струйной печатью вообще лучше установить специальную систему подачи чернил. Благодаря этому, можно избежать большинства проблем.

I started to create a simple Java application to print «Hello World» with the following code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.print.*;

public class HelloWorldPrinter implements Printable, ActionListener { 

public int print(Graphics g, PageFormat pf, int page) throws
                                                    PrinterException {

    if (page > 0) { /* We have only one page, and 'page' is zero-based */
        return NO_SUCH_PAGE;
    }

    /* User (0,0) is typically outside the imageable area, so we must
     * translate by the X and Y values in the PageFormat to avoid clipping
     */
    Graphics2D g2d = (Graphics2D)g;
    g2d.translate(pf.getImageableX(), pf.getImageableY());

    /* Now we perform our rendering */
    g.drawString("Hello world!", 100, 100);

    /* tell the caller that this page is part of the printed document */
    return PAGE_EXISTS;
}

public void actionPerformed(ActionEvent e) {
     PrinterJob job = PrinterJob.getPrinterJob();
     job.setPrintable(this);
     boolean ok = job.printDialog();
     if (ok) {
         try {
              job.print();
         } catch (PrinterException ex) {
          /* The job did not successfully complete */
         }
     }
}

public static void main(String args[]) {

    UIManager.put("swing.boldMetal", Boolean.FALSE);
    JFrame f = new JFrame("Hello World Printer");
    f.addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {System.exit(0);}
    });
    JButton printButton = new JButton("Print Hello World");
    printButton.addActionListener(new HelloWorldPrinter());
    f.add("Center", printButton);
    f.pack();
    f.setVisible(true);
}
} 

This doesn’t work, I get a «No print service found» alert message.

I am using Ubuntu 12.04 and the Java version is 1.7.0_25.

How can I get rid of this alert?

As discussed on IRC, the cause is that OpenJRE tries to dlopen CUPS libraries. Because it’s not linked to them, the operation fails. This can be workarounded by adding ${cups.out}/lib to LD_LIBRARY_PATH for now.

The question is how do we proceed from here: do we want to link JRE to CUPS? This would increase its closure size, and it remains a question how popular printing on Java is to link unconditionally. On the other hand, this functionality is assumed to work in Java out of the box and a user might be surprised to find out that (s)he needs to meddle with LD_LIBRARY_PATH to run a perfectly pure Java code.

Maybe we want to create some kind of wrapper around java with various dependencies so that people would install it instead…

i’m using CUPs v2.1.3 to access 2 printers shared by another linux mint pc.

The problem: jedit v 5.3.0 pops-up an error message «No print service found.» when I try ‘File > Print’ or ‘File > Page setup’ on any text file I’m editing.

Other text editors (e.g. Geany 1.27 and xed 1.6.3) see the shared printers and print ok.

Googling I found a 12-year old Bugzilla issue
https://bugzilla.novell.com/show_bug.cgi?id=213362
which suggests the root cause lies with some Java versions not working with some CUPs versions.
To quote from that bug report:

I’ve actually had some discussions with Sun the other day; the issue
is that the default server address in CUPS 1.2 is a domain socket,
which Java does not support. They will be implementing a fix for
that (fallback to localhost IP socket), but in the meantime you can
create/update an /etc/cups/client.conf file containing:

ServerName localhost

to force your Java applications to use IP instead of domain sockets.

I tried this work-around, but no dice — the problem persists. I’m using Oracle Java v1.8.0-181, specifically:

java -version
openjdk version «1.8.0_181»
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

This is a niggling problem! Has anyone seen it and found a fix (other than printing using a non-java text editor)?

Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 1 time in total.

Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.

  • No power carrier ошибка
  • No such file or directory ошибка python
  • No port for remote debugger esxi ошибка
  • No such file or directory git bash ошибка
  • No more room in hell ошибка