Jump to content
Fivewin Brasil

Impedir a impressão para um PDF


Ladinilson

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

  • 2 weeks later...

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. )
...

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...