Delphi - problema al abrir PDF

 
Vista:

problema al abrir PDF

Publicado por maxter (53 intervenciones) el 08/12/2005 21:13:20
Hola a todos, estoy haciendo una aplicación y deseo abrir unos pdf pero he probado de todas las formas y no puedo abrirlos, busqué en el foro y probé la opción del activex de adobe pero ni modo de que me lo habra dinámicamente en tiempo de ejecución, después probé las opciones de winexec() y la del shellnomeacuerdo y nada. Si alguien sabe alguna otra opción o me puede ayudar en el tema se lo agradecré enormemente.

Saludos Yoandy --maxter
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema al abrir PDF

Publicado por Dr Juzam (821 intervenciones) el 08/12/2005 21:45:34
¿Quieres abrirlo en tu aplicación o desde tu aplicación? Si usas ShellExecute es como si hicieses doble click en el PDF en cuestión. Si la maquina tiene instalado el Adobe reader deberían abrirse sin problemas. ¿Que error te da?
Si lo que quieres es que el PDF se muestre dentro de tu aplicación ya es otra cosa.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por maxter (53 intervenciones) el 08/12/2005 21:52:36
Bueno para mí lo ideal sería que se abriera desde mi aplicación pero me sirve de las 2 formas.

Gracias y saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por Dr Juzam (821 intervenciones) el 08/12/2005 22:23:34
Método 1 (Se abre aparte):

1) Añades ShellApi al uses del form.
2) Llamas ShellExecute (Form1.Handle, nil, 'D:\MiPDF.pdf', nil, nil, SW_SHOWNORMAL) cuando quieras abrir el PDF.

Método 2 (se abre en tu Form):

1) Pon un OLEContainer en tu form y lo ajustas a tu gusto.
2) Pones en siguiente código cuando quieras abrir el PDF: OleContainer1.CreateLinkToFile('D:\MiPDF.pdf',false);

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por Dr Juzam (821 intervenciones) el 08/12/2005 22:33:17
Si usas el método 2 solo se muestra la primera página del PDF. Aquí hay un método de como hacerlo mejor (un pelín más elaborado):

http://delphi.about.com/cs/howto/ht/htpdf.htm

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por maxter (53 intervenciones) el 08/12/2005 22:48:38
Pues el problema era que yo construia la cadena dinámicamente, si hago esto funciona

ShellExecute(0,'open','normas\norma105.pdf','','',SW_SHOWNORMAL);

pero yo necesito hacer esto

ShellExecute(0,'open','normas\'+cajadetexto.text+'.pdf','','',SW_SHOWNORMAL);

¿¿Hay alguna forma de que funcione??

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por Dr Juzam (821 intervenciones) el 08/12/2005 22:54:04
ShellExecute usa PChar en lugar de las strings de Delphi, por lo que hay que hacer un typecast. Debes hacerlo así:

ShellExecute(0,'open',PChar('normas\'+cajadetexto.text+'.pdf'),'','',SW_SHOWNORMAL);

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por maxter (53 intervenciones) el 08/12/2005 23:04:19
Bueno ese es el problema que no me funciona así tampoco [ya lo había probado] y ya había probado la opción del activeX de adobe pero me hace lo mismo [no me hace nada siempre que lo quiero hacer en runtime].

Saludos y Dr Juzam disculpame por tantas molestias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por Dr Juzam (821 intervenciones) el 08/12/2005 23:12:30
Acabo de copiar y pegar tu código en un Form. Uso Delphi 6. A mi me ha salido. Lo único es que he especificado la ruta (letra de unidad y demás):

ShellExecute(0,'open',PChar('D:\'+Edit1.text+'.pdf'),'','',SW_SHOWNORMAL);

Probablemente es fallo esté ahí. Trata de especificar la ruta completa (letra de unidad, carpeta, etc).

Saludos y para eso estamos :-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema al abrir PDF

Publicado por maxterpro (53 intervenciones) el 08/12/2005 23:54:51
Bueno al final resolví con el activeX de adobe y el problema era que estaba trabajando con un dbedit y no me acordaba [xD que cabeza la mía!!!] y entonces dbedit.Text no de devolvía un string sino una TMaskedText y de ahí los problemas, resolví usando dbedit.edittext.

Bueno Dr Juzam gracias por todo y ojalá algún día te pueda ayudar en algo[viendolo bien en nada sobre delphi jajajaja].

Saludos y buenas noches.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar