Si puede imprimir una vez, puede imprimir un número infinito de veces.
Considere una impresora de red: los datos sin procesar que se imprimirán deben enviarse a un dispositivo integrado remoto, que su programa no tendría forma de restringir, incluso si de alguna manera asumiera la propiedad de la máquina completa del usuario (que ya se consideraría extremadamente ofensivo) ; vea el escándalo del rootkit de Sony para ver el tipo de reacción que se espera).
¿Cómo podría decirle al dispositivo que la máquina del usuario está hablando es un HP LaserJet real, en lugar de algo que pretende ser uno (o, incluso más simple, pretende ser una cola de impresión remota), pero que guarda el PCL / PS sin procesar / lo que sea en lugar de imprimirlo? Dado que esos datos son todo lo que se necesita para imprimir el trabajo, uno solo tendría que reproducirlo varias veces en una impresora real para obtener varias copias. También podría usar un sniffer (como se menciona en @dlamblin) y evitar la molestia de emular la impresora.
Podría pensar en prohibir las impresoras de red, pero tener solo impresoras de red en una oficina (no impresoras simples conectadas a una PC de uso general, sino impresoras grandes conectadas directamente al conmutador Ethernet) no es tan raro. Debido a eso, varios de sus usuarios (cuántos dependerían en gran medida del grupo demográfico objetivo) no podrían imprimir, lo que no es una buena PR.
E incluso el USB no es inmune (aunque necesitaría más conocimiento técnico y quizás hardware especial); existen rastreadores USB. E incluso sin ellos, un "controlador de dispositivo" de impresora usb en un dispositivo Linux incorporado podría ser suficiente (tenga en cuenta, sin embargo, que al momento de escribir esto no conozco ningún controlador de dispositivo de impresora usb para Linux).
Todo esto supone que el programa de alguna manera ha logrado obtener un control completo de la máquina del usuario. Como muestran los varios intentos fallidos de protección de copia, es más fácil decirlo que hacerlo. ¿Cómo puede saber que el controlador de impresora que está utilizando es solo una versión poco común del controlador de impresora para una marca popular de impresoras, y no una versión pirateada para guardar la transmisión en el disco? ¿Cómo puede saber que no hay un controlador en algún lugar de la pila de impresión que registre todas las transacciones USB en el disco? ¿Y cómo puede diferenciar a un usuario normal de máquinas virtuales de alguien que las usa para interceptar la comunicación con los dispositivos USB?
Dicho todo esto, no necesitas ir tan lejos. La mayoría de las personas, incluso si tienen los conocimientos técnicos, no intentarán evitar incluso los intentos más débiles para evitar la impresión duplicada que realice. De hecho, no me sorprendería que la mayoría de los usuarios no imprimieran voluntariamente más de una vez si se les dijera que el archivo debe imprimirse solo una vez (pero entonces habría más casos de personas que accidentalmente imprimen dos veces). Entonces, haga un programa simple que imprima una vez y luego borre los datos originales. Advertir al usuario que los datos se borrarán después de imprimirse una vez. Y acepte que algunas personas imprimirán más veces de lo que usted permitió, y que algunas personas imprimirán menos veces de lo que permitió (fallas de alimentación, impresoras defectuosas, sistemas mal configurados o la temida CARTA DE CARGA de PCtodos pueden hacer que la impresión falle). Prepárate para eso.
Para las personas que imprimen más veces de lo permitido, simplemente acepten las pérdidas, de la misma manera que una tienda física tiene que aceptar que una fracción de sus existencias se dañará accidentalmente o se perderá de alguna manera. Tener alguna forma de encontrar a los mayores abusadores y tratar con ellos (el sistema legal parece ser una opción popular).
Para las personas que imprimen menos veces de las permitidas, algo como soporte telefónico donde el usuario puede solicitar una nueva copia sería una opción (funciona para Microsoft, ¿verdad?). Por supuesto, algunas personas abusarán de esto, pero vea el párrafo anterior.