FoxPro/Visual FoxPro - Vista previa de un pdf

   
Vista:

Vista previa de un pdf

Publicado por Silvia (4 intervenciones) el 05/11/2010 08:18:15
Hola a todos. Quisiera saber si existe alguna rutina para poder incluir en mi aplicación en Foxpro V.9 una vista previa de un documento PDF, XLS ó DOC.

Gracias
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:Vista previa de un pdf

Publicado por Juan286 (179 intervenciones) el 05/11/2010 14:20:52
Hola

Lo que debes es usar un OLEcontrol (control activeX) una vez ahi busca la libreria correspodiente a PDF en mi caso es: Adobe Acrobat for ActiveX

ahora si ejeuta saldra en blanco para es vamos a colocar un boton que diga abrir
y colocaras este codigo

LOCAL mostrar
mostrar =GETFILE([PDF])
IF !EMPTY(mostrar)
Thisform.Olecontrol1.LoadFile([&mostrar])
ENDIF

Te permite abrir un caja de dialogo para abrir el pdf que quieras.

Si necesitas algo distito publicalo,.
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:Vista previa de un pdf

Publicado por alexcoinc (449 intervenciones) el 05/11/2010 16:28:23
Perdon:

Pide el archivo PDF y luego sale

Thisform.Olecontrol1.LoadFile([&mostrar]) 4

No me muestra el archivo...ahh y tengo una duda mas, si el arhivo es de mas de una pagina me muestra todas las paginas.

Y otra cosa: Este código es para llamar un pdf o para mostrarlo dentro dfel formulario ??

Gracias
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:Vista previa de un pdf

Publicado por Juan286 (179 intervenciones) el 06/11/2010 16:54:45
Es algo parecido yo coloque un boton llamdo ABRIR

el cuatro no lo lleva el codigo debe ser este si buscasye la libreria que te indique.

LOCAL mostrar
mostrar =GETFILE([PDF])
IF !EMPTY(mostrar)
Thisform.Olecontrol1.LoadFile([&mostrar])
ENDIF

- COn respecto a tu duda depende del tamaño del ActiveX y de la configuracion del PDF que tengas en tu PC

Es para llamar un PDF dentro de un formulario.
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:Vista previa de un pdf

Publicado por alexcoinc (449 intervenciones) el 08/11/2010 14:46:06
Que pena...no te entiendo.

1) Para que el boton abrir ??
2) Lo que me tratas de decir es: que El codigo no va dentro del boton ??....entonces en donde va ??

ahh.... el olecontrol que elegí es adobe document

Gracias nuevamente
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:Vista previa de un pdf

Publicado por Juan286 (179 intervenciones) el 09/11/2010 06:59:17
mmmmm el codigo es para un commandbutton que tien un caption llamado ABRIR y ese codigo va en el evento CLICK

Si el OLEOCONTROL la libreria debe ser de adobe.
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:Vista previa de un pdf

Publicado por alexcoinc (449 intervenciones) el 09/11/2010 14:37:03
............mmmm...efectivamente...NO FUNCIONA

Me explico: Si pide el archivo PDF, uno lo escoge, pero sale el error (4) refiriendose al olecontrol...

yo coloque este código:

LOCAL mostrar
mostrar =GETFILE([PDF])
IF !EMPTY(mostrar)
Thisform.Olecontrol1.LoadFile((&mostrar))
ENDIF
thisform.refresh()

Que se te ocurre ??
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:Vista previa de un pdf

Publicado por Jose Casalino (94 intervenciones) el 09/11/2010 15:18:50
umm prueba reemplazando en la linea thisform.olecontrol1.loadfile el (&mostrar) por la ruta completa incluido el nombre del archivo poniendodolo entre comillas creo que el error esta en que pones doble parentesis.
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:Vista previa de un pdf

Publicado por alexcoinc (449 intervenciones) el 09/11/2010 22:34:11
No funciona.

Bueno..les comento que agregue un active X web no el de adobe y asi funciona bien.

Gracias
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:Vista previa de un pdf

Publicado por Loly (103 intervenciones) el 12/11/2010 16:09:30
por ahi me encontre este codigo...

puedes copiarlo y pegarlo en tu apl
**********************************************
FUNCTION VISORPDF
PUBLIC oform1
oForm1=NEWOBJECT("form1")
oForm1.Show()
RETURN

DEFINE CLASS form1 AS form

Autocenter = .T.
Height = 520
Width = 741
Caption = "Visor de Archivos PDF de Amado"
icon="icons\adobe.ico"
Name = "Form1"


&& PDF file name
cPdfFileName = "=SPACE(0)"
&& How long to wait for PDF to load
nPdfLoadTimeout = 30

ADD OBJECT txtpdfname AS textbox WITH ;
Top = 471, Left = 122, Height = 23, Width = 440, ;
ReadOnly = .T., Name = "txtPdfName"

ADD OBJECT command1 AS commandbutton WITH ;
Top = 465, Left = 566, Height = 40, Width = 85, ;
Caption = "Archivo", Name = "Command1",;
pICTURE='ICONS\adobe.ico',;
PicturePosition=1

ADD OBJECT command2 AS commandbutton WITH ;
Top = 465, Left = 650, Height = 40, Width = 85, ;
Caption = "Salir", Name = "Command2",;
Picture='icons\exit.ico',;
PicturePosition=1


ADD OBJECT owb AS olecontrol WITH ;
Top = 24, Left = 12, Height = 433, Width = 709, ;
OleClass = "Shell.Explorer.2", Name = "oWB"

ADD OBJECT label1 AS label WITH ;
Height = 17, Left = 25, Top = 474, Width = 95, ;
Caption = "Nombre del PDF:", Name = "Label1",;
FontName="Tahoma", FontSize=10

PROCEDURE Refresh
&& Required in VFP8 and earlier to prevent an error
NODEFAULT
ENDPROC


PROCEDURE ShowPdf
WITH thisform
LOCAL lnSeconds
&& Clear Web browser control by loading blank page
.oWB.OBJECT.Navigate2("About:Blank")
&& Wait for load to complete
lnSeconds = SECONDS()
DO WHILE (.oWB.OBJECT.Busy OR .oWB.OBJECT.ReadyState <> 4) ;
AND (SECONDS() - lnSeconds) < This.nPdfLoadTimeout
DOEVENTS
ENDDO

&& Load PDF
WAIT WINDOW NOWAIT "Espere Cargando Archivo PDF ..."
.oWB.OBJECT.Navigate2(.cPdfFileName)
&& Wait for PDF to load
lnSeconds = SECONDS()
DO WHILE (.oWB.OBJECT.Busy OR .oWB.OBJECT.ReadyState <> 4) ;
AND (SECONDS() - lnSeconds) < This.nPdfLoadTimeout
DOEVENTS
ENDDO
WAIT CLEAR
SET procedure TO Funciones
=Simula()
&& PDF display can be adjusted as shown in AdjustPdfView method
&& Uncomment next line if you want to do that and add AdjustPdfView method to the form/class
&&This.AdjustPdfView()
EndWith
ENDPROC


PROCEDURE command2.Click
WITH thisform
.Release
EndWith
ENDPROC


PROCEDURE command1.Click
WITH thisform
&& Get PDF file name
.cPdfFileName = GETFILE("pdf")

&& Display the name in the textbox
.txtPdfName.Value = .cPdfFileName
IF NOT EMPTY(.cPdfFileName)
&& Display PDF
.ShowPdf()
ENDIF
EndWith
ENDPROC
ENDDEFINE
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
Imágen de perfil de XXX

Vista previa de un pdf

Publicado por XXX (1368 intervenciones) el 23/11/2010 15:35:35
Silvia -> Alexcoinc ?????????????????????????
jajaja que cosas no?
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