Page 1 of 1

RESUELTO - Ver PDF

PostPosted: Fri May 31, 2024 8:15 pm
by Male
muestro mi PDF con TACTIVEX(), y al querer ver PDF, se cierra el programa. antes funcionaba bien, tengo FWH 18.11
Code: Select all  Expand view


Static Function ShowPDF1 oBrw )
  local oPdf,oWnd
    local nOpc      := 0                  
   local lText     := .F.                  
   local cFile     := if( Len( oBrw:aArrayData ) > 0, AllTrim( oBrw:aRow[ 2 ] ), "" )
      local hWebView,arq,cReport
     
DEFINE WINDOW oWnd
  oWnd:oClient = oPdf
   oPdf := TActiveX():New( oWnd, "acroPDF.PDF.1" )
   oWnd:oClient := oPdf

   oPdf:Do( "LoadFile", cFile )
   //oPdf:Do( "SetCurrentPage", 1 )

   oPdf:SetZoom( 80 )
    ACTIVATE WINDOW oWnd;
             MAXIMIZED    

 Return //oPdf

 //----------------------------------------------------------------------------//

 

Re: Ver PDF

PostPosted: Sat Jun 01, 2024 1:09 pm
by karinha
Mira, se ayuda:

// C:\FWH\SAMPLES\SHOWPDF3.PRG

#include "FiveWin.ch"

STATIC oWnd

FUNCTION Main()

LOCAL oActiveX, oPdf, oIco, oBar, oBmp, cFile

cFile := "C:\TEMP\MODELO.PDF"

SkinButtons()

DEFINE ICON oIco FILE "..\icons\fax.ico"

// mdichild ...no puede ser mdichild sin pertenecer a una ventana mdi
DEFINE WINDOW oWnd TITLE "Abrir un archivo *.pdf" COLOR "B/W" ICON oIco

DEFINE BUTTONBAR oBar _3D SIZE 26, 27 OF oWnd 2007

oActiveX := TActiveX():New( oWnd, "AcroPDF.PDF.1" )
oWnd:oClient := oActiveX

// oActiveX:Do( "LoadFile", "Prueba.pdf" )

oActiveX:Do( "LoadFile", cFile )
oActiveX:Do( "SetCurrentPage", 1 )


DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\printer.bmp" FLAT ;
ACTION MsgInfo( "Prints this document" ) TOOLTIP "Print this document" GROUP

DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Exit.bmp" FLAT ;
ACTION( oWnd:End() ) TOOLTIP "Exit this app" GROUP

DEFINE MESSAGE OF oWnd PROMPT FWVERSION + " <-kapiabafwh@gmail.com-> " + ;
FWCOPYRIGHT NOINSET CENTERED KEYBOARD DATE CLOCK 2007

ACTIVATE WINDOW oWnd MAXIMIZED

RETURN NIL

/* O:
ShellExecute( ,"open", cFicheroPdf,,,1 )
*/

// FIN / END

Regards, saludos.

Re: Ver PDF

PostPosted: Sat Jun 01, 2024 1:11 pm
by karinha
Mira, se ayuda:

Code: Select all  Expand view

// C:\FWH\SAMPLES\SHOWPDF3.PRG

#include "FiveWin.ch"

STATIC oWnd

FUNCTION Main()

   LOCAL oActiveX, oPdf, oIco, oBar, oBmp, cFile

   cFile := "C:\TEMP\MODELO.PDF"

   SkinButtons()

   DEFINE ICON oIco FILE "..\icons\fax.ico"

   // mdichild ...no puede ser mdichild sin pertenecer a una ventana mdi
   DEFINE WINDOW oWnd TITLE "Abrir un archivo *.pdf" COLOR "B/W" ICON oIco

   DEFINE BUTTONBAR oBar _3D SIZE 26, 27 OF oWnd 2007

   oActiveX := TActiveX():New( oWnd, "AcroPDF.PDF.1" )
   oWnd:oClient := oActiveX

   // oActiveX&#058;Do( "LoadFile", "Prueba.pdf" )

   oActiveX&#058;Do( "LoadFile", cFile )
   oActiveX&#058;Do( "SetCurrentPage", 1 )


   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\printer.bmp" FLAT ;
      ACTION MsgInfo( "Prints this document" ) TOOLTIP "Print this document" GROUP

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Exit.bmp" FLAT ;
      ACTION( oWnd:End() ) TOOLTIP "Exit this app" GROUP

   DEFINE MESSAGE OF oWnd PROMPT FWVERSION + " <-kapiabafwh@gmail.com-> " + ;
      FWCOPYRIGHT NOINSET CENTERED KEYBOARD DATE CLOCK 2007

   ACTIVATE WINDOW oWnd MAXIMIZED

RETURN NIL

/* O:
   ShellExecute( ,"open", cFicheroPdf,,,1 )
*/


// FIN / END
 


Regards, saludos.

Re: Ver PDF

PostPosted: Sat Jun 01, 2024 1:14 pm
by cnavarro
Lo más sencillo actualmente es "montar" un webview, y abrir ese fichero "file:///....." en el webview

Re: Ver PDF

PostPosted: Sat Jun 01, 2024 1:36 pm
by karinha
Code: Select all  Expand view

// C:\FWH\SAMPLES\SHOWPDF.PRG

#Include "FiveWin.ch"

STATIC oWnd

FUNCTION Main()

   LOCAL oBar, oIco

   HB_GCALL( .F. )

   DEFINE ICON oIco FILE "..\icons\person.ico"

   DEFINE WINDOW oWnd TITLE "ShowPdf Acrobat" COLOR "B/W" ICON oIco

   DEFINE BUTTONBAR oBar _3D OF oWnd

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\printer.bmp" FLAT GROUP  ;
      ACTION( ShowPDF_READER() )

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Exit.bmp" FLAT           ;
      ACTION( oWnd:End(), LIBERA_TUDO() ) TOOLTIP "Exit this app" GROUP

   SET MESSAGE OF oWnd TO "ShowPdf Acrobat" NOINSET CLOCK DATE KEYBOARD

   ACTIVATE WINDOW oWnd

RETURN NIL

FUNCTION ShowPDF_READER()

   LOCAL oWndPdf, oPdf, cTmp, VisualPDF

   VisualPDF := "C:\TEMP\FWINTRO.PDF"

   IF .NOT. File( VisualPDF )

      ? "OOOPPSS!!"

      RETURN NIL

   ENDIF

   DEFINE WINDOW oWndPdf TITLE "FiveWin ActiveX Support"

   oPdf = TActiveX():New( oWndPdf, "AcroPDF.PDF.1", 1, 1, 20, 50 )

   oWndPdf:oClient := oPdf

   oPdf : src = VisualPDF

   // Mostra Preview Pequeno no lado esquerdo da tela...
   // oPdf:Do( "SetPageMode", "thumbnail and pages" )

   oPdf:SetProp( "Src", cTmp )

   oPdf:Do( "LoadFile", Lfn2Sfn( cTmp ) )

   oPdf:Do( "GetVersions" )

   oPdf:Do( "SetCurrentPage", 1 )

   // oPdf:Do( "PrintAll" )  // Assim funciona. pede a impressao

   // Mostra a Barra de Botoes do ADOBE READER
   oPdf:Do( "SetShowToolbar", .T. )

   oPdf:Do( "SetShowScrollbars", .T. )  // Liga/Desliga Scroll

   ACTIVATE WINDOW oWndPdf MAXIMIZED ;
      ON INIT( PDFActivex( oPdf ) )  ;
      VALID( oWndPdf := NIL, oPdf:End(), .T. )

RETURN NIL

FUNCTION PDFActivex( MyProgID )

   LOCAL aDretor := .T.

   IF IsActivex( "PDF.PdfCtrl.1" ); MyProgID := "PDF.PdfCtrl.1"; ENDIF
   IF IsActivex( "PDF.PdfCtrl.2" ); MyProgID := "PDF.PdfCtrl.2"; ENDIF
   IF IsActivex( "PDF.PdfCtrl.3" ); MyProgID := "PDF.PdfCtrl.3"; ENDIF
   IF IsActivex( "PDF.PdfCtrl.4" ); MyProgID := "PDF.PdfCtrl.4"; ENDIF
   IF IsActivex( "PDF.PdfCtrl.5" ); MyProgID := "PDF.PdfCtrl.5"; ENDIF
   IF IsActivex( "PDF.PdfCtrl.6" ); MyProgID := "PDF.PdfCtrl.6"; ENDIF
   IF IsActivex( "PDF.PdfCtrl.7" ); MyProgID := "PDF.PdfCtrl.7"; ENDIF
   IF IsActivex( "acroPDF.PDF.1" ); MyProgID := "acroPDF.PDF.1"; ENDIF
   IF IsActivex( "acroPDF.PDF.2" ); MyProgID := "acroPDF.PDF.2"; ENDIF

   IF Empty( MyProgID )

      MsgInfo( "PDF Activex não instalado!" + CRLF + " É necessário que seja instalado o programa ADOBE READER, consulte o suporte do sistema.", .F. )

      aDretor := .F.

   ENDIF

RETURN( aDretor )

FUNCTION LIBERA_TUDO()

   /*
   DbCommitAll()
   DbUnLockAll()
   DbCloseAll()
   FreeResources()
   */

   Release All
   SysRefresh()

   HB_GCALL( .T. )

   CLEAR MEMORY

   PostQuitMessage( 0 )

   QUIT

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
 


Regards, saludos.

Re: Ver PDF

PostPosted: Mon Jun 03, 2024 6:26 pm
by Male
karina: realice las dos pruebas que me dices pero no me funcionaron se sigue cerrando el programa.

Cristóbal: probé con la opción WebView y me marca el siguiente error:
Error: Unresolved external '_HB_FUN_TWEBVIEW' referenced from C:\USERS\SYDEL\ONEDRIVE\PROGRAMA\FIVEWIN\PROTOTIPO\OBJ\CLIENTES.OBJ


https://1drv.ms/i/s!Ar6Rcd8ROBAs4jwbldi ... E?e=7VGqID

Re: Ver PDF

PostPosted: Wed Jun 05, 2024 2:04 pm
by karinha
Buen día. Todo indica que la versión FIVEWIN está obsoleta. Desafortunadamente, no tengo esta versión de FWH18.11 para probarla y estar seguro. Ahora bien, ciertamente no es compatible con WEBVIEW.

Regards, saludos.

Re: Ver PDF

PostPosted: Wed Jun 05, 2024 2:09 pm
by karinha
Probé con FWH1701 y SHOWPDF.PRG funciona bien. ¿Tiene ADOBE READER instalado en su máquina?

https://get.adobe.com/br/reader/

Regards, saludos.

Re: RESUELTO - Ver PDF

PostPosted: Wed Jun 05, 2024 7:23 pm
by Male
Karina: gracias por tu ayuda, listo quedo resuelto, desinstale el acrobatreader y lo reinstale, listo volvioa funcionar

Image

Re: RESUELTO - Ver PDF

PostPosted: Wed Jun 05, 2024 7:42 pm
by karinha
¡Muy bien! Hermoso trabajo, con código de barras y todo. ¡Felicidades!

Regards, saludos.