Page 1 of 1

Error Printer Pdf

Posted: Tue Apr 30, 2019 4:09 pm
by XeviCOMAS
Con este código


Code: Select all

METHOD Button1Click( oSender ) CLASS TForm1

               Printer:lPreview := .F.
               Printer:nOrientation := DMORIENT_LANDSCAPE
               Printer:StartDocPdf( "C:\MiCarpeta\FilePDF.Pdf", "FilePDF" )
               Printer:oCanvas:nMapMode := mmHIMETRICS

               Printer:oCanvas:TextOut( 1820, 1920, "Prueba PDF" )

               Printer:EndPage()
               Printer:EndDoc()

RETURN Nil


me encuentro con algunas PCs (Windows Server 2012, en este caso) que me arroja este error...

Code: Select all

***************************** Registro de errores *****************************

             Exe: C:\Users\Xevi\Desktop\ProvaPDF.exe
         Version: 1.0.0.0
       User name: xevi
   Computer name: DC02
           Fecha: 04/30/19
            Hora: 15:54:50
   Memoria libre: 4194303
     Area actual: 1

------------------------- Información del compilador --------------------------

  Versión Xailer: Xailer 6.0.4
      Compilador: Harbour 3.2.0dev (r1803161710)
Compilador C/C++: MinGW GNU C 7.3 (32-bit)
      Plataforma: Windows Server 2012 R2 6.3

----------------------- Información detallada del error -----------------------

      Subsistema: BASE
 Código de error: 1005
          Estado: .F.
     Descripción: No exported variable
       Operación: NMAPMODE
      Argumentos:  [ 1] = Tipo: U Valor: NIL [ 2] = Tipo: N Valor: 1
         Fichero:
 Código error SO: 0

Pila de llamadas:
  _NMAPMODE (0)
  TFORM1:BUTTON1CLICK (33)
  TBUTTON:ONCLICK (0)
  TBUTTON:CLICK (100)
  (b)XCONTROL (156)
  TBUTTON:COMMAND (0)
  TSCROLLINGWINCONTROL:WMCOMMAND (275)
  TFORM1:WMCOMMAND (952)
  RUNFORM (0)
  TAPPLICATION:RUN (289)
  MAIN (15)


Lo mismo si compilo con Xailer 5.1.2

Cuando... otro terminal, no me lanza error, pero no me hace caso a DMORIENT_LANDSCAPE y crea el documento en vertical.


Gracias por vuestro tiempo.

Re: Error Printer Pdf

Posted: Tue Apr 30, 2019 6:35 pm
by XeviCOMAS
Para el tema de que no me imprimía en apaisado... he puesto nOrientation después del Printer:StartDocPdf() y ya imprime en apaisado. Me ocurria en alguna máquina... pero queda solucionado de esta manera.

Sin embargo, el error me lo sigue lanzando en un Server2012 ¿?¿? :roll:

Re: Error Printer Pdf

Posted: Thu May 02, 2019 8:30 pm
by jfgimenez
Xevi,

antes de usar Printer:StartDocPdf() tienes que comprobar que el sistema tenga instalada una impresora PDF compatible:

Code: Select all

   IF Printer:CanPrintToPdf()
      Printer:StartDocPdf(...)
      ...
   ELSE
      MsgAlert( "No se puede crear el PDF" )
   ENDIF


Actualmente, sólo son compatibles la impresora "Microsoft Print to PDF" que viene con Windows 10 y, para versiones anteriores de windows, la impresora "PDF Architect" que viene con PDFCreator