Ladinilson Posted March 22, 2022 Report Share Posted March 22, 2022 Bom dia meus caros, Existe uma maneira de impedir que o cliente possa criar um arquivo PDF a partir da impressão na RPreview? Pensei e "setar" a impresora pegando o nome e ser for diferente de configurada no sistema, ele trava a operação tipo: ImpAnt := PrnGetName() IF ImpAnt != "EPSON L3150" IF NSGYESNO("Impressora não ativa, setar a mesma?!","Impressão") SetDefaultPrinter( "EPSON L3150" ) ENDIF ENDIF Sendo assim força a imprimir somente para a impressora específica. Abs Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 22, 2022 Report Share Posted March 22, 2022 Buenos dias. Desligue em: PRV2PDF.PRG ou na RPREVIEW.PRG. Abs. Regards, saludos. Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted March 22, 2022 Author Report Share Posted March 22, 2022 40 minutos atrás, kapiaba disse: Buenos dias. Desligue em: PRV2PDF.PRG ou na RPREVIEW.PRG. Abs. Regards, saludos. Fiz já isso meu caro mas mesmo assim podes direcionar para uma impressora tipo MICROSOFT PRINT TO PDF, PDF24 ou Wondershare PDFelement. Lá no botão de impressão tem a lista das impressoras ou a impressora DEFAULT pode ser uma dessas. O cliente não quer que relatórios da empresa possam serem copiados para pen drives e hoje em dia tem muitos programas que editam o PDFs. Esperamos muito para podermos imprimir em PDF agora quero o contrário kkkk Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 22, 2022 Report Share Posted March 22, 2022 Você pode impedir também, pelo NOME DA IMPRESSORA. Pera, que vou ver se acho a função. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 22, 2022 Report Share Posted March 22, 2022 Mais ou menos isso, ponha todos os nomes de impressoras da pasta de impressora que geram PDF e bloqueie: REDEFINE BUTTON oPdfCreator ID 301 OF oDlg ; ACTION( ESCOLHER_PDFCREATOR( cPreview, oLbx, cPrint, 2 ) ) FUNCTION ESCOLHER_PDFCREATOR( cPreview, oLbx, cPrint, cFlag ) LOCAL oPrn PRINTER oPrn FROM USER // open oPrint object with the printer IF EMPTY( oPrn:hDC ) MsgStop( "Atenção Usuário: " +CRLF+ ; "Você Não Escolheu Uma Impressora " +CRLF+ ; "Virtual na Pasta de Impressoras. " +CRLF+ ; "Impressora Não Esta Pronta!! " +CRLF+ ; "Deve Estar Conectada/Instalada. " +CRLF+ ; "Você Só Pode Usar a Impressora " +CRLF+ ; "Virtual(PDF) Para Gerar Arquivo " +CRLF+ ; "no Formato: *.PDF " +CRLF+ ; "ADOBE READER(PDF) ", ; "Impressora Virtual Não Escolhida " ) oPrn:End() RETURN NIL ENDIF cPrint := oPrn:GETMODEL() oPrn:End() //-> Se o Nome da Impressora For uma destas impressoras virtual faça o bloqueio, liste todas as impressoras de PDFs da pasta de impressoras. IF cPrint == [PDFCreator] .OR. ; cPrint == [BroadGun pdfMachine] .OR. ; cPrint == [pdfFactory] .OR. ; cPrint == [pdfFactory Pro] .OR. ; cPrint == [Bullzip PDF Printer] .OR. ; cPrint == [CutePDF Writer] .OR. ; cPrint == [Expert PDF Pro] .OR. ; cPrint == [doPDF v7] ? "Desculpe Mano, Proibido gerar PDFs Pelo Dono da Empresa" RETURN( .F. ) ENDIF RETURN( .T. ) Regards, saludos. Quote Link to comment Share on other sites More sharing options...
Ladinilson Posted March 22, 2022 Author Report Share Posted March 22, 2022 11 minutos atrás, kapiaba disse: Mais ou menos isso, ponha todos os nomes de impressoras da pasta de impressora que geram PDF e bloqueie: REDEFINE BUTTON oPdfCreator ID 301 OF oDlg ; ACTION( ESCOLHER_PDFCREATOR( cPreview, oLbx, cPrint, 2 ) ) FUNCTION ESCOLHER_PDFCREATOR( cPreview, oLbx, cPrint, cFlag ) LOCAL oPrn PRINTER oPrn FROM USER // open oPrint object with the printer IF EMPTY( oPrn:hDC ) MsgStop( "Atenção Usuário: " +CRLF+ ; "Você Não Escolheu Uma Impressora " +CRLF+ ; "Virtual na Pasta de Impressoras. " +CRLF+ ; "Impressora Não Esta Pronta!! " +CRLF+ ; "Deve Estar Conectada/Instalada. " +CRLF+ ; "Você Só Pode Usar a Impressora " +CRLF+ ; "Virtual(PDF) Para Gerar Arquivo " +CRLF+ ; "no Formato: *.PDF " +CRLF+ ; "ADOBE READER(PDF) ", ; "Impressora Virtual Não Escolhida " ) oPrn:End() RETURN NIL ENDIF cPrint := oPrn:GETMODEL() oPrn:End() //-> Se o Nome da Impressora For uma destas impressoras virtual faça o bloqueio, liste todas as impressoras de PDFs da pasta de impressoras. IF cPrint == [PDFCreator] .OR. ; cPrint == [BroadGun pdfMachine] .OR. ; cPrint == [pdfFactory] .OR. ; cPrint == [pdfFactory Pro] .OR. ; cPrint == [Bullzip PDF Printer] .OR. ; cPrint == [CutePDF Writer] .OR. ; cPrint == [Expert PDF Pro] .OR. ; cPrint == [doPDF v7] ? "Desculpe Mano, Proibido gerar PDFs Pelo Dono da Empresa" RETURN( .F. ) ENDIF RETURN( .T. ) Regards, saludos. achei bacana o "Desculpe mano!" kkkkkk Valeu Kapi! Quote Link to comment Share on other sites More sharing options...
rochinha Posted March 31, 2022 Report Share Posted March 31, 2022 Amiguinhos, Que tal se ao invés disto: oPrn:End() //-> Se o Nome da Impressora For uma destas impressoras virtual faça o bloqueio, liste todas as impressoras de PDFs da pasta de impressoras. IF cPrint == [PDFCreator] .OR. ; cPrint == [BroadGun pdfMachine] .OR. ; cPrint == [pdfFactory] .OR. ; cPrint == [pdfFactory Pro] .OR. ; cPrint == [Bullzip PDF Printer] .OR. ; cPrint == [CutePDF Writer] .OR. ; cPrint == [Expert PDF Pro] .OR. ; cPrint == [doPDF v7] ? "Desculpe Mano, Proibido gerar PDFs Pelo Dono da Empresa" RETURN( .F. ) ENDIF RETURN( .T. ) Usar isto: ... oPrn:End() //-> Se o Nome da Impressora For uma destas impressoras virtual faça o bloqueio, liste todas as impressoras de PDFs da pasta de impressoras. IF "PDF" $ upper( cPrint ) ? "Desculpe Mano, Proibido gerar PDFs Pelo Dono da Empresa" RETURN( .F. ) ENDIF RETURN( .T. ) ... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.