Ver Mensaje Individual
  #2
Antiguo 8 de enero de 2025, 13:19
Gusaiello
Forero Activo
Concurso: Segundo puesto: Ganador/a del Segundo puesto en un concurso - Issue reason: Generador de código QR encriptado Activista del Foro: Activista del Foro - Issue reason: Por aportar ejecrcicios para los novatos 
Última Actividad 17.09.2026 14:29
Posts Posts: 236
Likes enviados Enviados: 150
Likes recibidos Recibidos: 139

Hola @Yuri.
Esto lo hago en ACU Cobol, espero te sirva.

Código COBOL:
  1.   *ESTO LO USO PARA IMPRIMIR UNA FACTURA.
  2.   *PDFCREATOR COMO DESDE LÍNEA DE COMANDOS.
  3.  
  4.        SPECIAL-NAMES.
  5.                     copy "Word.def".
  6.                     copy "pdfcreator.def".
  7.                     .
  8.  
  9.    WORKING-STORAGE SECTION.
  10.        77 PDF-cre         handle of CLSPDFCREATOR.
  11.        77 PDF-OPT         handle of CLSPDFCREATOROPTIONS.
  12.  
  13.  
  14.    PROCEDURE DIVISION.
  15.            IF CHOSEN-PRINTER = "PDFCreator"
  16.  
  17.    *ARMO UN NOMBRE DE ARCHIVO CON LOS DATOS DE LA FACTURA
  18.  
  19.               STRING NOMBRE-CLI DELIMITED BY "  "
  20.                      "-"
  21.                      LETFAC-CRE
  22.                      "-"
  23.                      SUCFAC-CRE
  24.                      "-"
  25.                      NUMFAC-CRE
  26.                      ".PDF"     DELIMITED BY SIZE INTO NOMBRE-ARCHIVO
  27.               END-STRING
  28.  
  29.    *EL PDF SE GUARDA EN UNA CARPETA (SI NO EXISTE LA CREO EN ESTE MOMENTO)
  30.               MOVE 1 TO COPIAS
  31.               MOVE SPACES TO CARPETA-FACTURAS
  32.               STRING UNIDIR
  33.                      CLIDIR
  34.                      "FACTURAS" DELIMITED BY SIZE INTO CARPETA-FACTURAS
  35.               CALL "C$MAKEDIR" USING CARPETA-FACTURAS
  36.  
  37.    *CONFIGURO PDFCREATOR PARA AUTOGUARDADO CON LOS DATOS : NOMBRE DE ARCHIVO Y CARPETA
  38.  
  39.               create @CLSPDFCREATOR OF PDFCREATOR handle in PDF-cre
  40.               create @CLSPDFCREATOROPTIONS OF PDFCREATOR
  41.                                                   handle in PDF-OPT
  42.               MODIFY PDF-cre, cSTART("NoprocessingAtStartup",0)
  43.               modify pdf-CRE, @cOption("Useautosave",1)
  44.  
  45.               MOVE SPACES TO ADJUNTO
  46.               STRING CARPETA-FACTURAS DELIMITED BY SPACE
  47.                      ""
  48.                      NOMBRE-ARCHIVO   DELIMITED BY SIZE INTO ADJUNTO
  49.  
  50.               modify pdf-CRE, @cOption("autosavedirectory",
  51.                                                        CARPETA-FACTURAS)
  52.               modify pdf-CRE, @cOption("autosaveFilename",
  53.                                                          NOMBRE-ARCHIVO)
  54.               modify pdf-CRE, @cOption("autosaveFormat",0)
  55.               modify pdf-CRE, @cOption("AutosaveStartStandardProgram",0)
  56.  
  57.               modify  pdf-CRE, @cClearCache()
  58.            END-IF.
  59.  
  60.    * A partir de aca la impresión se maneja normalmente como si fuera una impresora cualquiera
  61.   * y al finalizar la impresión cierro PDFCreator y aviso al usuario.
  62.  
  63.            IF CHOSEN-PRINTER = "PDFCreator"
  64.               DISPLAY MESSAGE "La factura ha sido guardada en la carpet"
  65.                               "a : " CARPETA-FACTURAS H"0A"
  66.                               "Con el nombre : " NOMBRE-ARCHIVO
  67.            END-IF.

** La variable ADJUNTO se usa si el .pdf se quiere enviar por correo.
Gusaiello is offline   Responder Con Cita