Мой принтер Zebra TTP 7030 подключен к локальному компьютеру через USB.Как получить статус принтера USB Zebra от JAVA
Я могу распечатать данные с помощью javax.print API, но я не могу получить статус принтера или любые данные с принтера.
Я попытался получить статус принтера из атрибутов Java printService, но он не возвращает никакой важной информации о состоянии принтера в реальном времени.
Class<? extends Attribute>[] supportedAttributeCategories = (Class<? extends Attribute>[]) service.getSupportedAttributeCategories();
for (Class<? extends Attribute> category : supportedAttributeCategories) {
DocFlavor[] flavors = service.getSupportedDocFlavors();
for (DocFlavor flavo : flavors) {
Object supportedAttributeValues = service.getSupportedAttributeValues(category, flavo, service.getAttributes());
if (supportedAttributeValues instanceof Attribute) {
Attribute attr = (Attribute) supportedAttributeValues;
attribSet.add(attr);
} else if (supportedAttributeValues != null) {
Attribute[] attrs = (Attribute[]) supportedAttributeValues;
for (Attribute attr : attrs) {
attribSet.add(attr);
}
}
}
}
for (Attribute attr : attribSet) {
System.out.println(attr.getName());
System.out.println(service.getDefaultAttributeValue(attr.getCategory()));
}
Zebra's Link OS SDK не поддерживает мой принтер. Есть ли способ получить статус принтера?
РЕШЕНИЕ: Я использовал JNA, чтобы получить статус принтера Windows для моего принтера Zebra.
Вот пример того, как получить информацию о принтере с помощью ЮНА How can i get a printer's make and model in Java?