Quiero escribir mi propio controlador de impresora, ¿cuáles son los requisitos?

¿Está hablando de escribir el código para admitir una impresora personalizada o un controlador de salida imprimible de su propio diseño? ¿O simplemente otro controlador para una impresora existente para que pueda aprender el proceso? ¿Qué sistema operativo es el objetivo previsto? ¿También necesita admitir las capacidades de la impresora que omiten el controlador, como los niveles de tinta, el estado de impresión auditable, los números de serie, etc.?

Tenga en cuenta que los nuevos controladores de impresora (Linux / CUPS1.5, Windows, OSX, Android, etc.) utilizan un nuevo protocolo “sin controlador”, que se está convirtiendo en el enfoque más popular. Esto significa que la API de la impresora del sistema operativo genera un documento XML conforme a un estándar y que se envía a la propia impresora, que es responsable de procesarlo.

Aquí hay una buena descripción …

https://www.linuxfoundation.org/…

Y aquí hay una pregunta frecuente sobre el estándar …

https://www.pwg.org/ipp/evefaq.html

Buena suerte.

Si tiene una impresora compatible con PostScript y ejecuta un sistema operativo compatible con CUPS (como Linux o MacOS X), puede escribir un archivo PPD y confiar en los controladores genéricos existentes.

Si necesita / desea desarrollar un controlador desde cero, debe tener una idea de lo siguiente como mínimo.

Los detalles dependen de qué sistema operativo, pero los principios son los mismos.

  1. Conocimiento del lenguaje de programación nativo de su sistema operativo. C para Linux, C ++ para Windows.
  2. La API de controlador general de su sistema operativo. También la API específica para imprimir.
  3. Conocimiento detallado del hardware de su impresora, principalmente su interfaz de comunicación y protocolo.