Ver la Versión Completa : [Herramienta] Gerar/crear "PDF RICO"
Yuri
8 de enero de 2025, 12:26
Olá amigos Coboleiros,
Necessito gerar um arquivo.pdf num servidor via linha de comando sem abrir a interface do usuário ou seja não pode ser usada uma impressora PDFCREATOR (por exemplo).
Quero integrar a minha aplicação COBOL com um servidor PHP que sempre buscará pelo arquivo.pdf em c:/apache/htdocs/sistema/arquivo.pdf.
Gostaria da indicação de vocês, pois preciso gerar um arquivo.pdf "rico" pois deverá conter bordas e imagens, trata-se de um formulário de ficha de cliente com foto.
Aguardo suas recomendações, desde já eu agradeço pela ajuda, muito obrigado.
Yuri Romanov
RM/Cobol Fujitsu Cobol
Porto Alegre/RS/Brasil
Gusaiello
8 de enero de 2025, 13:19
Hola @Yuri.
Esto lo hago en ACU Cobol, espero te sirva.
*ESTO LO USO PARA IMPRIMIR UNA FACTURA.
*PDFCREATOR COMO DESDE LÍNEA DE COMANDOS.
SPECIAL-NAMES.
copy "Word.def".
copy "pdfcreator.def".
.
WORKING-STORAGE SECTION.
77 PDF-cre handle of CLSPDFCREATOR.
77 PDF-OPT handle of CLSPDFCREATOROPTIONS.
PROCEDURE DIVISION.
IF CHOSEN-PRINTER = "PDFCreator"
*ARMO UN NOMBRE DE ARCHIVO CON LOS DATOS DE LA FACTURA
STRING NOMBRE-CLI DELIMITED BY " "
"-"
LETFAC-CRE
"-"
SUCFAC-CRE
"-"
NUMFAC-CRE
".PDF" DELIMITED BY SIZE INTO NOMBRE-ARCHIVO
END-STRING
*EL PDF SE GUARDA EN UNA CARPETA (SI NO EXISTE LA CREO EN ESTE MOMENTO)
MOVE 1 TO COPIAS
MOVE SPACES TO CARPETA-FACTURAS
STRING UNIDIR
CLIDIR
"FACTURAS" DELIMITED BY SIZE INTO CARPETA-FACTURAS
CALL "C$MAKEDIR" USING CARPETA-FACTURAS
*CONFIGURO PDFCREATOR PARA AUTOGUARDADO CON LOS DATOS : NOMBRE DE ARCHIVO Y CARPETA
create @CLSPDFCREATOR OF PDFCREATOR handle in PDF-cre
create @CLSPDFCREATOROPTIONS OF PDFCREATOR
handle in PDF-OPT
MODIFY PDF-cre, cSTART("NoprocessingAtStartup",0)
modify pdf-CRE, @cOption("Useautosave",1)
MOVE SPACES TO ADJUNTO
STRING CARPETA-FACTURAS DELIMITED BY SPACE
""
NOMBRE-ARCHIVO DELIMITED BY SIZE INTO ADJUNTO
modify pdf-CRE, @cOption("autosavedirectory",
CARPETA-FACTURAS)
modify pdf-CRE, @cOption("autosaveFilename",
NOMBRE-ARCHIVO)
modify pdf-CRE, @cOption("autosaveFormat",0)
modify pdf-CRE, @cOption("AutosaveStartStandardProgram",0)
modify pdf-CRE, @cClearCache()
END-IF.
* A partir de aca la impresión se maneja normalmente como si fuera una impresora cualquiera
* y al finalizar la impresión cierro PDFCreator y aviso al usuario.
IF CHOSEN-PRINTER = "PDFCreator"
DISPLAY MESSAGE "La factura ha sido guardada en la carpet"
"a : " CARPETA-FACTURAS H"0A"
"Con el nombre : " NOMBRE-ARCHIVO
END-IF.
** La variable ADJUNTO se usa si el .pdf se quiere enviar por correo.
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.