FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour tPrinter
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Wed May 21, 2025 04:59 PM
Aqui se puede ver el error.


https://1drv.ms/v/c/bd0cf3d17da31758/EXmcp98QIuBGqO8MdoVUvysBtN59hK8HEksRfEPBLqlOxg?e=Wuhfu6

Gracias. Saludos

Ruben Dario Fernandez
Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: tPrinter
Posted: Wed May 21, 2025 05:32 PM

¿En qué carpeta quieres GUARDAR EL NADA.PDF?

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Wed May 21, 2025 05:48 PM
Hola Joao, gracias.

El el video tienes 2 botones uno que imprime varias paginas y otro que imprime 3 paginas.
Le doy guardar en el directorio que me dice y luego me pregunta si quiero ver el pdf.

Cuando imprime 3 paginas lo veo sin problemas pero si se imprimen varias paginas no lo puedo
ver, me dice que el pdf no esta.

No podrá ser que cuando son muchas paginas no termina de crear el pdf, como que le falta algo ahí para que
termine de crearlo y poder visualizarlo.

Gracias Saludos
Ruben Dario Fernandez

Dejo aqui el ejemplo que reproduce el error
#include "FiveWin.ch"
#include "Ribbon.ch"


function Main()

    local n, oWin, oFont

    DEFINE DIALOG oDlg SIZE 1100,800 
    DEFINE FONT oFont  NAME "TAHOMA" SIZE 0,-14

    @ 2, 10 BUTTON  oBtn PROMPT "Imprime varias hojas" OF oDlg ACTION Imprime() FONT oFont 
    @ 4, 10 BUTTON  oBtn PROMPT "Imprime pocas hojas" OF oDlg ACTION Imprime2() FONT oFont 

ACTIVATE DIALOG oDlg
oFont:End() 
    
return nil    



FUNCTION IMPRIME()

    PRINT  oPrn NAME "muchas" PREVIEW  MODAL  
      oPrn:lPrvModal:=.t.

  oPrn:SetPage(1)
  oPrn:SetPortrait() 
  

  PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE
 PAGE
ENDPAGE

ENDPRINT

RETURN nil



FUNCTION IMPRIME2()

    PRINT  oPrn NAME "pocas" PREVIEW  MODAL  
      oPrn:lPrvModal:=.t.

  oPrn:SetPage(1)
  oPrn:SetPortrait() 
  

PAGE
ENDPAGE
PAGE
ENDPAGE
PAGE
ENDPAGE
 

ENDPRINT

RETURN nil
Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: tPrinter
Posted: Wed May 21, 2025 06:42 PM
// C:\FWH\SAMPLES\RUBEN02.PRG

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL n, oWin, oFont, oDlg, oBtn

   IF FILE( "MUCHAS.PDF" )
      DELETEFILE( "MUCHAS.PDF" )
   ENDIF

   IF FILE( "POCAS.PDF" )
      DELETEFILE( "POCAS.PDF" )
   ENDIF

   IF FILE( "NADA.PDF" )
      DELETEFILE( "NADA.PDF" )
   ENDIF

   IF FILE( "VARIAS.PDF" )
      DELETEFILE( "VARIAS.PDF" )
   ENDIF

   DEFINE DIALOG oDlg SIZE 800, 800
   DEFINE FONT oFont  NAME "TAHOMA" SIZE 0, - 14

   @ 2, 10 BUTTON  oBtn PROMPT "Imprime varias hojas" OF oDlg   ;
      ACTION Imprime() FONT oFont

   @ 4, 10 BUTTON  oBtn PROMPT "Imprime pocas hojas" OF oDlg    ;
      ACTION Imprime2() FONT oFont

   @ 6, 10 BUTTON  oBtn PROMPT "Imprime Varias Directo" OF oDlg ;
      ACTION Generar_PDF() FONT oFont

   ACTIVATE DIALOG oDlg
   oFont:End()

RETURN NIL

FUNCTION IMPRIME()

   LOCAL oPrn

   PRINT oPrn NAME "Muchas" PREVIEW  MODAL

   oPrn:lPrvModal := .T.

   oPrn:SetPage( 1 )
   oPrn:SetPortrait()

   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE

   ENDPRINT

RETURN NIL

FUNCTION IMPRIME2()

   LOCAL oPrn2

   PRINT oPrn2 NAME "pocas" PREVIEW  MODAL

   oPrn2:lPrvModal := .T.

   oPrn2:SetPage( 1 )
   oPrn2:SetPortrait()

   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE

   ENDPRINT

RETURN NIL

FUNCTION Generar_PDF()

   LOCAL cText := MEMOREAD( "C:\FWH1905\samples\RUBEN.txt" )
   LOCAL oPrn3, oFont

   PRINT oPrn3 FILE "Varias.pdf"  // en silencio sin preview

   DEFINE FONT oFont NAME "COURIER NEW" SIZE 0,-28 OF oPrn3

   oPrn3:lPrvModal := .T.

   oPrn3:SetPage( 1 )
   oPrn3:SetPortrait()

   PAGE
      @ 1,1 PRINT TO oPrn3 TEXT @cText SIZE 7,10 INCHES FONT oFont
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE

   ENDPRINT

   RELEASE FONT oFont

   IF FILE( "C:\FWH1905\SAMPLES\VARIAS.PDF" )
      HTMLVIEW( "C:\FWH1905\SAMPLES\Varias.pdf" )
   ENDIF

RETURN NIL
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Wed May 21, 2025 07:42 PM

Gracias Joao.

Tu ejemplo funciona, pero no es como lo planteo.

Desde el Preview doy al boton de Acrobat para generar el pdf y luegoo quiero visualizarlo, esa es la cuestion.

Mi ejemplo te funciona bien?

Gracias, Saludos

Ruben Dario Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: tPrinter
Posted: Wed May 21, 2025 08:36 PM
¿Cómo no Hombre? No hay nada que no pueda hacer. jajajajajaja.
// C:\FWH\SAMPLES\RUBEN03.PRG

#include "FiveWin.ch"

MEMVAR WNOMBREARQPDF

FUNCTION Main()

   LOCAL n, oWin, oFont, oDlg, oBtn

   IF FILE( "MUCHAS.PDF" )
      DELETEFILE( "MUCHAS.PDF" )
   ENDIF

   IF FILE( "POCAS.PDF" )
      DELETEFILE( "POCAS.PDF" )
   ENDIF

   IF FILE( "NADA.PDF" )
      DELETEFILE( "NADA.PDF" )
   ENDIF

   IF FILE( "VARIAS.PDF" )
      DELETEFILE( "VARIAS.PDF" )
   ENDIF

   DEFINE DIALOG oDlg SIZE 800, 800
   DEFINE FONT oFont  NAME "TAHOMA" SIZE 0, - 14

   @ 2, 10 BUTTON  oBtn PROMPT "Imprime varias hojas" OF oDlg   ;
      ACTION Imprime() FONT oFont WHEN( .F. )

   @ 4, 10 BUTTON  oBtn PROMPT "Imprime pocas hojas" OF oDlg    ;
      ACTION Imprime2() FONT oFont WHEN( .F. )

   @ 6, 10 BUTTON  oBtn PROMPT "Imprime Varias Directo" OF oDlg FONT oFont ;
      ACTION( MsgRun( "GENERANDO ARCHIVO *.PDF... ", ;
                     "Por Favor, Aguarde...      ", ;
               { || WinExec( Generar_PDF() ), 3 } ) )

   ACTIVATE DIALOG oDlg

   oFont:End()

RETURN NIL

FUNCTION IMPRIME()

   LOCAL oPrn

   PRINT oPrn NAME "Muchas" PREVIEW  MODAL

   oPrn:lPrvModal := .T.

   oPrn:SetPage( 1 )
   oPrn:SetPortrait()

   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE

   ENDPRINT

RETURN NIL

FUNCTION IMPRIME2()

   LOCAL oPrn2

   PRINT oPrn2 NAME "pocas" PREVIEW  MODAL

   oPrn2:lPrvModal := .T.

   oPrn2:SetPage( 1 )
   oPrn2:SetPortrait()

   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE

   ENDPRINT

RETURN NIL

FUNCTION Generar_PDF()

   // LOCAL cText := MEMOREAD( "C:\TMP\samples\RUBEN.txt" )
   LOCAL oPrn3, oFont
   LOCAL cText := "Este é um texto de teste para impressão Para Ruben"

   PRINT oPrn3 FILE "Varias.pdf"  // en silencio sin preview

   DEFINE FONT oFont NAME "COURIER NEW" SIZE 0,-18 OF oPrn3

   oPrn3:lPrvModal := .T.

   oPrn3:SetPage( 1 )
   oPrn3:SetPortrait()

   PAGE
       oPrn3:CmSay ( 1, 1, cText, oFont )
   ENDPAGE
   PAGE
       oPrn3:CmSay ( 1, 1, cText, oFont )
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE
   PAGE
   ENDPAGE

   ENDPRINT

   RELEASE FONT oFont

   /*
   IF FILE( "C:\FWH1905\SAMPLES\VARIAS.PDF" )
      HTMLVIEW( "C:\TMP\SAMPLES\Varias.pdf" )
   ENDIF
   */

   IF FILE( "VARIAS.PDF" )

      WNOMBREARQPDF := "VARIAS.pdf"

      // ShellExecute( 0, "Print", WNOMBREARQPDF,,, 3 ) // Imprime
      ShellExecute( 0, "Open", WNOMBREARQPDF,,, 3 )     // Abrir ADOBE

   ENDIF

RETURN NIL

// FIN / END
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Wed May 21, 2025 09:31 PM

Estimado Joao, gracias, te estoy molestando demasiado.

Tu ejemplo funciona bien, pero no es lo que quiero.

Quiero hacer lo mismo que ves en el video, cuando doy imprimir 3 paginas.

No modificar nada.

Porque funciona imprimiendo 3 páginas y 30 no funciona? Hay algo que anda mal en FWH al crear el PDF grande.

Saludos

Ruben Dario Fernandez.

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: tPrinter
Posted: Wed May 21, 2025 10:13 PM

En cual versión del FWH no funciona?

Regards, saludos.

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Wed May 21, 2025 11:46 PM

En la 2501, 2410

Gracias

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: tPrinter
Posted: Thu May 22, 2025 07:23 AM

Ruben, intenta hacer tu mismo ejemplo poniendo algo, lo que sea ( aunque solo sea un caracter en cada pagina ) y me dices si sigues teniendo el mismo problema o no

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: tPrinter
Posted: Thu May 22, 2025 01:30 PM
Ruben, prueba este ejemplo y comente para Master Navarro, pls.
// C:\FWH\SAMPLES\RUBEN04.PRG

#include "FiveWin.ch"

#Define PAD_LEFT            0
#Define PAD_RIGHT           1
#Define PAD_CENTER          2

MEMVAR WNOMBREARQPDF

FUNCTION Main()

   LOCAL n, oWin, oFont, oDlg, oBtn, DeDondeRuben

   IF FILE( "MUCHAS.PDF" )
      DELETEFILE( "MUCHAS.PDF" )
   ENDIF

   IF FILE( "POCAS.PDF" )
      DELETEFILE( "POCAS.PDF" )
   ENDIF

   IF FILE( "NADA.PDF" )
      DELETEFILE( "NADA.PDF" )
   ENDIF

   IF FILE( "VARIAS.PDF" )
      DELETEFILE( "VARIAS.PDF" )
   ENDIF

   DEFINE FONT oFont  NAME "TAHOMA" SIZE 0, - 14 BOLD

   DEFINE DIALOG oDlg SIZE 500, 400 FONT oFont

   oDlg:lHelpIcon := .F.

   @ 2, 10 BUTTON  oBtn PROMPT "Directo en la impresora " OF oDlg   ;
      ACTION Generar_PDF( DeDondeRuben := "DIRECTONAIMP" )

   @ 4, 10 BUTTON  oBtn PROMPT "   Con Preview de FWH   " OF oDlg    ;
      ACTION Generar_PDF( DeDondeRuben := "CONPREVIEWFIVE" )

   @ 6, 10 BUTTON  oBtn PROMPT "   Con Preview en PDF   " OF oDlg    ;
      ACTION Generar_PDF( DeDondeRuben := "CONPREVIEWPDF" )

   @ 8, 10 BUTTON  oBtn PROMPT "   Salida del Sistema   " OF oDlg    ;
      ACTION( oDlg:End() ) CANCEL

   ACTIVATE DIALOG oDlg CENTERED

   oFont:End()

RETURN NIL

FUNCTION Generar_PDF( DeDondeRuben )

   LOCAL oPrn, oFont, nPagina
   LOCAL cText := "Este é um texto de teste para impressão Para Ruben"

   nPagina   := 1

   IF DeDondeRuben = "DIRECTONAIMP"       // DIRECTO / IMPRESSORA

      PRINT oPrn NAME "RUBEN"

   ELSEIF DeDondeRuben = "CONPREVIEWFIVE" // PREVIEW / FWH

      PRINT oPrn NAME "RUBEN" PREVIEW MODAL

   ELSEIF DeDondeRuben = "CONPREVIEWPDF"  // GENERAR ARCHIVO PDF.

      PRINT oPrn FILE "RUBEN.pdf"         // en silencio sin preview

   ENDIF

   DEFINE FONT oFont NAME "COURIER NEW" SIZE 0,-18 OF oPrn

   oPrn:lPrvModal := .T.

   oPrn:SetPage( 1 )
   oPrn:SetPortrait()

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   PAGE
      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina
   ENDPAGE

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina
   ENDPAGE

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   PAGE

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   PAGE // 10

      oPrn:cmSay( 1, 18,                   ;
                OemToAnsi( "P gina: " + ALLTRIM( STRZERO( nPagina, 2 ) ) ), ;
                oFont,, CLR_BLACK,, PAD_CENTER )

       oPrn:CmSay ( 05, 1, cText, oFont )

       ++nPagina

   ENDPAGE

   ENDPRINT

   RELEASE FONT oFont

   IF DeDondeRuben = "CONPREVIEWPDF"

      // FWSavePreviewToPDF( oPrn, "RUBEN.PDF", .F. )

      // Para visualizar el PDF. HTMLPDF.PRG
      // HTMLVIEW( "RUBEN.PDF" )

      WNOMBREARQPDF := cShortName( "RUBEN.pdf" )

      // ShellExecute( 0, "Print", WNOMBREARQPDF,,, 3 ) // Imprime
      ShellExecute( 0, "Open", WNOMBREARQPDF,,, 3 )     // Abrir ADOBE

   ENDIF

RETURN NIL

/*
 * SPN.PRG
 *
 * cShortName() - FilePath Long to Short (GetShortPathNameA())
 *
 * Soporte a Funciones del Api de Windows
 *
 * Andrade A. Daniel - 2002
 * Rosario, Argentina
 *
 * Libre Distribución
 */

/*
 * cShortName()
 */

FUNCTION cShortName( cLong )

   LOCAL   cShort  := Space( 164 ) + Chr( 0 )
   LOCAL   nBuffer := 164
   LOCAL   nLen

   nLen    := GetSPName( cLong, @cShort, nBuffer )

   cShort  := Left( cShort, nLen )

RETURN( cShort )

DLL32 STATIC FUNCTION GetSPName( lpszLongPath AS STRING, lpszShortPath AS STRING, lBuffer AS LONG ) ;
      AS LONG PASCAL FROM "GetShortPathNameA" LIB "kernel32"

// FIN / END                 kapiabafwh@gmail.com
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Thu May 22, 2025 07:12 PM

Hola Joao, disculpa tantas molestias.

Pasa lo mismo.

1- Directo a la impresora - ME PIDE UN NOMBRE Y GENERA PDF PERO NO SALE POR IMPRESORA

2- Con Preview de FWH - No encuenta el pdf.

3- Con Preview PDF - No encuentra el PDF

En 2 y 3 despues que salgo de la aplicacion el PDF esta, pero al momento de visualizarlo no lo encuenta

Gracias a ti Joao y al SR. Navarro infinitas

Ruben Dario Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Thu May 22, 2025 07:13 PM

Sr. Navarro, si sigo con el mismo problema.

Muchas gracias y disculpe el; incoveniente.

Saludos

Ruben Dario Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 555
Joined: Wed Jul 31, 2013 01:14 PM
Re: tPrinter
Posted: Thu May 22, 2025 07:19 PM

Hola:

Solo para saber con la version 2501 y 2504 el codigo que puse funciona bien ?

(Dar en el boton de Acrobat y ver el PDF)

Muchas gracias.

Saludos

Ruben Dario Fernandez

Dario Fernandez

FWH 2501, Harbour, MVS2022 Community, MySql & MariaDB, Dbf/Cdx VSCode.

Maldonado - Uruguay
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: tPrinter
Posted: Thu May 22, 2025 07:22 PM
D.Fernandez wrote: Hola Joao, disculpa tantas molestias.



Pasa lo mismo.

1- Directo a la impresora - ME PIDE UN NOMBRE Y GENERA PDF PERO NO SALE POR IMPRESORA
2- Con Preview de FWH - No encuenta el pdf.
3- Con Preview PDF - No encuentra el PDF

En 2 y 3 despues que salgo de la aplicacion el PDF esta, pero al momento de visualizarlo no lo encuenta

Gracias a ti Joao y al SR. Navarro infinitas

Ruben Dario Fernandez
Ruben, definitivamente tienes un problema con tu versión de FWH, si tienes FWH19.05 veras que funciona a 1000 maravillas. Quizás necesites la última versión de FWH15.01 creo... Sería interesante si el maestro Navarro probara este ejemplo que publiqué para ver la reacción con la versión actual de FWH.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341