Как определить, является ли принтер билетным принтером VB.NET
Приветствия,
Я пытаюсь расширить внутренний печатный компонент, который мы используем в качестве эталона в наших проектах для обработки печати.
Один из проектов, над которым я работаю, должен определить тип выходного формата (ticket, nametag, A4,...) на основе типа принтера по умолчанию (A4 officejet, ticketprinter, A5 printer,...), чтобы правильно организовать макет и т. д. Идея заключается в том, что вы посылаете команду в эту программу и она генерирует соответствующее задание печати в нужном формате.
У меня в основном возникают проблемы с определением того, является ли принтер билетным принтером. Билеты, как правило, имеют переменную длину, поэтому я искал свойства набора бумаги, которые я мог бы запросить, чтобы узнать, используем ли мы принтер билетов, но пока безрезультатно. Не уверен, что есть другой способ узнать, какой тип принтера мы используем.
За последние пару дней я не смог найти никакого способа определить, в каком формате по умолчанию печатает принтер.
Любая помощь будет оценена по достоинству, хотя я начинаю думать, что нет простого способа просто спросить любого принтера, какой тип принтера у них есть.
Заранее спасибо за любую помощь!
Приветствует,
Дэвид
Что я уже пробовал:
Я попробовал поиграть с некоторыми свойствами.
Свойство PaperKind возвращает "custom", но поскольку у нас есть несколько других промышленных принтеров с другими форматами, которые также возвращают это... это не очень полезно.
Создание именованного пользовательского стиля бумаги, который мы должны были бы настроить на всех принтерах билетов, на самом деле не является вариантом, поскольку мы говорим о сотнях принтеров.
Я использовал размер бумаги, чтобы попытаться угадать, какой тип бумаги мы используем, но я не уверен, что это надежно, учитывая, что у нас есть теги, которые тоже имеют ту же ширину, что и билеты. Я полагаю, что он в некотором роде выполняет свою работу, но, как я уже сказал, Я не нахожу его "чистым" способом определить это.