Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-06-2019
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
Pdf Controlado por Delphi

Buenas, quería saber como abordar este asunto, a ver si pueden darme algo de luz.


Me gustaría realizar un programa en Delphi que muestre un PDF, pero no cualquier PDF, sino uno que yo decida y esté inyectado en el mismo ejecutable de delphi y además que se ejecute en una sóla máquina.



En principio tengo pensado de alguna manera extraer el número de serie de la máquina donde se ejecutaría el programa y si coincide con el que yo quiero, pues mostraría el pdf que iría embebido con el ejecutable, no permitiendo copias ni impresiones, sólo lecturas.


Ya sé que hay programas PDF que lo protegen, pero también los hay que los desprotegen, además mi interés es que además de protegido es que sólo se ejecute en una máquina de una tercera persona.



Gracias.
Responder Con Cita
  #2  
Antiguo 20-06-2019
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Personalmente no me queda claro lo que quieres hacer ya que has comentado muchas cosas, pero no has explicado bien ninguna de ellas.
Comento alguna de las que has dicho a ver si puedes ir aclarandolas un poco más.

Cita:
Empezado por usuario1000 Ver Mensaje
Me gustaría realizar un programa en Delphi que muestre un PDF, pero no cualquier PDF, sino uno que yo decida y esté inyectado en el mismo ejecutable de delphi y además que se ejecute en una sóla máquina.
Puedes añadir el PDF como recurso. Puedes comprobar datos de la máquina, lo que no me acaba de quedar claro es c´ñomo vas a hacer para mostrarlo en una sóla máquina.

Cita:
Empezado por usuario1000 Ver Mensaje
En principio tengo pensado de alguna manera extraer el número de serie de la máquina donde se ejecutaría el programa
Normamente no hay un número de serie único. Puedes usar datos de la BIOS, del disco duro, de la tarjeta de red,...
También puedes usar una combinación de ellos.

Cita:
Empezado por usuario1000 Ver Mensaje
y si coincide con el que yo quiero, pues mostraría el pdf que iría embebido con el ejecutable
El problema es conocer a priori el "Nº de serie" de a máquina destino para compararlo.

Cita:
Empezado por usuario1000 Ver Mensaje
... no permitiendo copias ni impresiones, sólo lecturas.
Una vez que abres el PDF no es posible limitar eso, al menos si lo haces con los métodos estandard.
Todos los componentes que conozco permiten, Copiar, Guardar, Imprimir,...
Como último siempre podrás seleccionar y copiar sobre el control.
Lo único que se me ocurre es que no lo muestres como PDF sino como imagen.
Aun así siempre se podrá hacer una captura e imprimirla.
No me queda claro esta parte...

Hay que tener en cuenta también, que cualquier recurso que tengas en el ejecutable siempre puede extraerse.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 21-06-2019
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Personalmente no me queda claro lo que quieres hacer ya que has comentado muchas cosas, pero no has explicado bien ninguna de ellas.
Comento alguna de las que has dicho a ver si puedes ir aclarandolas un poco más.


Puedes añadir el PDF como recurso. Puedes comprobar datos de la máquina, lo que no me acaba de quedar claro es c´ñomo vas a hacer para mostrarlo en una sóla máquina.


Normamente no hay un número de serie único. Puedes usar datos de la BIOS, del disco duro, de la tarjeta de red,...
También puedes usar una combinación de ellos.


El problema es conocer a priori el "Nº de serie" de a máquina destino para compararlo.


Una vez que abres el PDF no es posible limitar eso, al menos si lo haces con los métodos estandard.
Todos los componentes que conozco permiten, Copiar, Guardar, Imprimir,...
Como último siempre podrás seleccionar y copiar sobre el control.
Lo único que se me ocurre es que no lo muestres como PDF sino como imagen.
Aun así siempre se podrá hacer una captura e imprimirla.
No me queda claro esta parte...

Hay que tener en cuenta también, que cualquier recurso que tengas en el ejecutable siempre puede extraerse.

Darte las gracias por tu respuesta.


Tengo que darle aún una vuelta más a este asunto, pero la idea es que si le envío un pdf a una persona, que sea sólo esta persona quien lo pueda ver y además en su máquina, no en otra.


Sé que cualquier cosa que se muestre en pantalla se puede copiar, pero los pdf's que se envían serían de muchas páginas por lo que sería muy complicado y laborioso copiarlo pantalla a pantalla.


Lo ideal sería enviarle un PDF embebido en un .exe, es decir esta persona ejecute el programa y se le muestra el pdf. Previamente el programa ha comprobado que la máquina es la correcta para mostrar el pdf. (num. serie, lo que sea....).


Lo seguiré mirando. Muchas gracias.
Responder Con Cita
  #4  
Antiguo 21-06-2019
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por usuario1000 Ver Mensaje
Sé que cualquier cosa que se muestre en pantalla se puede copiar, pero los pdf's que se envían serían de muchas páginas por lo que sería muy complicado y laborioso copiarlo pantalla a pantalla.

en ese caso, te recomiendo convertir el PDF a imagenes y mostrarlas como tales. De cara al usuario es lo mismo, pero no le permitirá todas las operaciones que quieres evitar.
Los componentes para mostrar PDF's te las van a permitir y va a ser muy difícil "bloquear" todas esas características.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 21-06-2019
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 20
movorack Va camino a la famamovorack Va camino a la fama
Y acaso el usuario (el final, no usuario007) no puede hacer una captura de pantalla y/o tomar fotos?
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
Responder Con Cita
  #6  
Antiguo 22-06-2019
Javierus Javierus is offline
Miembro
 
Registrado: jun 2017
Posts: 88
Poder: 7
Javierus Va por buen camino
En cuanto a visualizarlo sin que se pueda copiar, es muy fácil usando Pdfium u otra librería similar para Delphi. Lo que haces es, a la hora de mostrarlo, renderizas cada página a imagen y la pintas en el canvas. Esa librería o alguna similar viene con u. Ejemplo precisamente de eso.

En cuanto que extraigan el PDF, basta con que el PDF esté encriptado; si lo extraen no sabrás la contraseña para verlo.

Lo del ID para decidir si se muestra o no, como dicen, tienes la MAC, el número de serie del disco, el GUID del equipo, el GUID del usuario Windows, y más cosas.

Según sea el caso, si puedes hacer el EXE personalizado, una posibilidad sería calcular el identificador de máquina destino, y encriptar el PDF con ello.

Esto te permitirá no tener que incorporar el ID al exe: si no es correcto, el PDF no se puede abrir, y ya está.

Procura utilizar streams, y no archivos temporales, a la hora de manejar el PDF embebido.

Por cierto: si el PDF lo encriptas con el ID del destino, no necesitas emveberlo en el EXE, ya que va protegido.

De hecho, no necesitas el EXE personalizado: te vale un Exe único, y el PDF encriptado con el ID
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Es posible crear bucle controlado José Luis Garcí Varios 5 05-07-2011 11:04:54
Manual Puerto serie RS232 Con PIC16F84A controlado por Visual C# REHome ASM y Microcontroladores 0 05-12-2008 05:07:01
Movimiento controlado de un TImage raul_toled Gráficos 4 04-03-2007 20:35:18


La franja horaria es GMT +2. Ahora son las 08:24:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi