Tenemos un caso de uso muy específico para una aplicación que estamos desarrollando, donde un usuario recibirá un documento PDF, que puede imprimir. Sin embargo, debemos poder restringir el PDF para que solo se pueda imprimir una vez. ¿Alguien sabe si hay una manera de restringir la cantidad de veces que se puede imprimir un PDF.
Sé que la especificación de PDF tiene muchas características de seguridad, pero no he encontrado referencias a algo como esto antes.
Respuestas:
Adobe utiliza su Adobe Content Server para proteger libros electrónicos y archivos PDF junto con Adobe Digital Editions (su libro electrónico gratuito y lector de PDF) en el lado del cliente. Esto permite la distribución de archivos PDF con opciones de seguridad más flexibles que las que permite el PDF independiente habitual. Por ejemplo, los documentos pueden tener un límite de tiempo o permitir que solo se imprima un cierto número de páginas.
Esta puede ser una solución de martillo para su problema, ya que no tengo idea de los precios de Adobe para este producto o si es práctico para una pequeña cantidad de documentos. Es utilizado por personas de la Biblioteca Británica (hasta hace poco de todos modos) para préstamos electrónicos entre bibliotecas que vencen después de 2 semanas y solo permiten que el artículo se imprima una vez.
fuente
Yo diría que esto no solo es técnicamente imposible, sino que tampoco es práctico.
¿Qué le impide al usuario fotocopiar el documento justo después de imprimirlo?
¿Qué es lo que estás tratando de lograr con esto, además de reunir algunas sugerencias novedosas?
fuente
Incluso si puede hacer esto, no puede evitar que el usuario haga una captura de pantalla y luego imprima una imagen o algo así. Si el usuario puede ver los datos, no puede evitar que haga una copia, por lo que mi consejo es "ni lo intentes". Haga una advertencia notable de que el pdf debe imprimirse solo una vez y déjelo así, porque si el usuario desea imprimirlo dos veces, encontrará el camino.
fuente
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.
fuente
Sé que muchas entradas para eventos entregadas en formato PDF no se preocupan demasiado por esto. En cambio, afirman firmemente que el lugar escaneará los códigos de barras y que solo se permitirá la entrada de la primera copia de un boleto determinado. También tienden a imprimir el nombre del comprador en el boleto, lo que hace posible solicitar una identificación en la puerta también.
Fundamentalmente, no creo que sea posible hacer un archivo PDF de impresión única. E incluso si lo fuera, sospecharía que las relaciones con los clientes cuestan por problemas de impresión y el mal boca a boca costaría más de lo que vale.
TurboTax (una herramienta de preparación de impuestos estatales y federales para los lectores no estadounidenses) intentó algo similar hace un par de años. Decidieron que solo debe ser posible instalar el programa una vez con la impresión habilitada, que se impuso mediante un código de activación de su servidor. Resulta que un número significativo de sus clientes tenían la costumbre de hacer impuestos en casa, pero instalando una copia temporal en su oficina para aprovechar las impresoras de oficina disponibles. También hubo una fuerte queja de las personas preocupadas por la posibilidad de reinstalar el software de ese año más tarde para corregir la devolución si una auditoría revelaba un problema.
Las quejas fueron lo suficientemente fuertes como para que ninguna versión posterior haya tenido estas restricciones.
fuente
La idea de que un programa de software puede controlar que un usuario solo imprima algo una vez es una idea defectuosa. Piense en el atasco de papel: el hecho de que alguna aplicación o sistema operativo haya enviado con éxito un trabajo de impresión a la impresora no garantiza que el usuario obtenga una copia. Entonces, ¿qué debe hacer el usuario?
¿O qué tal si la impresora está configurada para imprimir X copias de cada hoja? ¿Qué pasa con los escáneres o fotocopiadoras?
Y finalmente, aunque obviamente no hay beneficios desde el punto de vista del usuario para tal antifunción , no tengo absolutamente ninguna idea de cuál debería ser el beneficio para su empresa. ¿Podrías explicarme por qué cuál es el beneficio de hacer tal cosa?
fuente
No puedo encontrar ninguna función de Adobe PDF que cuente la cantidad de veces que se imprime el documento. Solo encuentro deshabilitar toda la impresión. Esto tiene sentido cuando se toma con lo siguiente a la vista:
Si yo fuera el pirata de PDF que temes, y tú creaste este escurridizo PDF de una sola impresión, simplemente lo enviaría a mi impresora, una vez.
Después de lo cual:
En una Mac, elegiría obtener una vista previa de la impresión antes de hacer clic en "imprimir" y guardar la vista previa en PDF que genera.
En una PC, le pediría al controlador de la impresora que también coloque el trabajo en un archivo.
O en cualquiera de los dos elegiría un controlador de impresión a archivo, muchos de los cuales son gratuitos.
Y si ninguna de estas opciones anteriores estuviese disponible para mí, podría pedirle al controlador de mi impresora muchos modelos para también poner en cola el PostScript en el disco primero, o en casos graves, rastrear el tráfico de red a la impresora fuera de la red. Generalmente no está autenticado o encriptado. El PostScript podría incluso ser destilado a PDF si fuera necesario.
Editar:
incluso con el applet de impresión Java que Pitney-Bowes usa para imprimir el franqueo, lo que parece deshabilitar la opción de vista previa. He guardado el trabajo de impresión resultante para volver a imprimir. Pero ya no uso esta opción porque parece que simplemente no se puede imprimir correctamente en ningún tipo de tamaño de papel, siempre imprime el código de barras fuera de los márgenes de la página, incluso cuando lo juego directamente con la intención de imprimir una vez .
fuente
¿Consideró personalizar las impresiones, requiriendo alguna identificación (y tal vez alguna firma) al usar la impresión en una tienda, y dejó en manos del acuerdo de venta que solo se utilizará una copia? Luego, necesitaría un procesamiento final (en algún momento posterior), para registrar qué comprobantes se han usado varias veces y (amenazar con) facturar al cliente por eso ... (Esto podría incluso ser algo adicional, además de intentar para limitar el número de impresiones)
Tenga en cuenta que no todos tienen una impresora de calidad. Algunos escaneos o fotocopias pueden verse mejor que algunas impresiones originales.
Además, como ya señaló @RBerteig, es posible que algunos clientes ni siquiera tengan una impresora o se hayan quedado sin tinta. ¿Cómo imprimirían en algún vecino o en el trabajo cuando su solución necesita software adicional, como (lo horrible, en mi opinión) Adobe Digital Editions? Ampliando eso: ¿cómo será el bono electrónico? Creo que implementará alguna validación en línea al momento del canje en la próxima versión, para aquellos que le muestren un código de barras en su teléfono inteligente en lugar de un cupón de papel.
Ok, está claro que eventualmente implementará alguna solución que no será muy segura. Supongo que tendrá una declaración escrita para el cliente sobre los riesgos. Sugiero que en esa declaración escrita también muestre al cliente la facilidad con que la solución de la competencia se puede utilizar para imprimir varias copias.
fuente
Hemos hecho cosas como esta con marcas de agua. El PDF siempre tiene una marca de agua a excepción de algún "evento" dado que permitirá al usuario imprimir (como el pago en nuestra situación). Luego volvemos a renderizar el PDF sin la marca de agua.
No es exactamente lo que buscas, pero ¿quizás la noción de marca de agua podría ser útil?
fuente
Prueba este tutorial de Adobe:
fuente
"Hmm", (como dijo Deep Thought), "Tricky"
¿Qué tal distribuir el acceso a un sitio web con un simple requisito de inicio de sesión que contiene el comprobante? Imprima el comprobante desde la página web.
Configure el sitio para que el usuario pueda iniciar sesión solo una vez.
Es posible que pueda configurar el sitio para que el cupón NO se muestre en la página web, aunque no sé cómo hacerlo. Si puede hacer esto, evita que el usuario descargue y realice múltiples impresiones.
Si algo sale mal con el inicio de sesión, proporcione una forma legítima, pero no demasiado fácil, de obtener otro inicio de sesión.
Por supuesto, siempre puede enviar un comprobante físico al destinatario.
Si le preocupan las fotocopias, hay maneras de evitarlo: consulte las recetas médicas que utilizan "papel seguro" como ejemplo.
fuente
No soy un experto en tecnología, pero podría valer la pena visitar el sitio web "Globe and Mail" (Canadá). Este es un periódico que cobra por el número de copias impresas, de uno a cien. Es posible que pueda adaptar lo que hayan hecho a su propio problema. La razón por la que estoy viendo este sitio es porque estoy a punto de lanzar un sitio web y quiero proteger mi contenido. Buena suerte
fuente