Ola pessoal. Desenvolvi uma funcionalidade buscando do site da progress para fazer impressão em PDF, mas estou somente com um problema eu não quero que abra o ADOBE, que ele fica de forma silenciosa por trás e faça a impressão. Pois com este programa ele abre o Adobe, faz a impressão e fecha o Adobe. Segue abaixo a procedure onde passo o nome do arquivo e a impressora que desejo imprimir, onde na impressora eu passo o endereço da mesma ou nome dela no Windows. PROCEDURE pi-imprimindo. DEFINE VARIABLE proc AS System.Diagnostics.Process NO-UNDO. DEFINE VARIABLE startInfo AS System.Diagnostics.ProcessStartInfo NO-UNDO. DEFINE INPUT PARAMETER sFileName AS CHARACTER NO-UNDO. DEFINE INPUT PARAMETER sPrinter AS CHARACTER NO-UNDO. DEFINE VARIABLE sArgs AS CHARACTER NO-UNDO. ASSIGN startInfo = new System.Diagnostics.ProcessStartInfo() startInfo:FileName = sFileName. /* Choose the verb based on whether the file is to be printed to network printer or to the default local printer */ IF INDEX ( sPrinter, "\\") > 0 THEN DO: /* prints to a network printer */ startInfo:Verb = "printto". END. ELSE DO: /* prints to the local default printer */ startInfo:Verb = "print". END. /* To print on a non-default printer add the following line, with a properly initialized value for sPrinter: */ startInfo:Arguments=sPrinter. /* This code-change will also be needed for the attached .p file */ ASSIGN startInfo:UseShellExecute = FALSE startInfo:WindowStyle = System.Diagnostics.ProcessWindowStyle:HIDDEN startInfo:CreateNoWindow = TRUE proc = System.Diagnostics.Process:Start(startInfo). /* Wait a maximum of 10 sec for the process to finish */ proc:WaitForExit(10000). IF NOT proc:HasExited THEN DO: proc:Kill(). procispose(). END. END PROCEDURE. Se alguém puder me dizer como faço para imprimir sem que abra o Adobe usando esta procedure, agradeço. Atenciosamente.
Bom dia, Tem esse programa que vc pode chamar via OS-COMMAND que vai imprimir sem abrir nada: http://www.columbia.edu/~em36/pdftoprinter.html