Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: SQL e a Teoria de Conjuntos

_Créditos das imagens: Grok ### 🚀 Você sabia? SQL e a Teoria de Conjuntos estão mais conectados do que imagina! A linguagem SQL (Structured Query Language) tem suas raízes na teoria de conjuntos, um conceito matemático que trata de coleções de objetos. Em bancos de dados relacionais, cada tabela é um conjunto de linhas (ou tuplas), e operações como SELECT, JOIN, UNION e INTERSECT são inspiradas em operações como união (∪), interseção (∩) e diferença (-). Vamos explorar como isso funciona? 👇 --- ### 🔍 Principais Operações de Conjuntos no SQL Imagine duas tabelas simples: Clientes (Conjunto A): ``` +----+-------+ | ID | Nome | +----+-------+ | 1 | Ana | | 2 | João | | 3 | Maria | +----+-------+ ``` Pedidos (Conjunto B): ``` +----+-----------+ | ID | Cliente_ID| +----+-----------+ | 1 | 1 | | 2 | 2 | | 3 | 1 | +----+-----------+ ``` #### 1. União (UNION) - O que faz: Junta tudo de A e B, sem duplicatas (A ∪ B). - Exemplo: ```sql SELECT id FROM cli...

PDFCreator :: Gerando Marca D´agua

Existem duas maneiras para a geração de Marcas D´agua em arquivos PDF  usando o PDFCreator.

A primeira  é definindo o texto a ser impresso como “Marca D´agua”

image

Ao gerarmos um relatório, usando como impressora o PDFCreator, teremos:

image

A segunda opção, para a geração da Marca D´agua, é usar o Script (em VB) desenvolvido por Frank Heindörfer e que se encontra em Scripts\RunProgramAfterSaving\AddWatermarkToPDF.vbs da instalação padrão do PDFCreator. Esse script utiliza o aplicativo pdftk.exe do PDFLabs para inserir a Marca D´agua. Seu uso é bem simples.

Primeiro, baixe o programa pdftk.exe e descompacte-o, de preferência, em \windows\system32  para que possa ser executado via linha  de comando sem a necessidade de mapeamento do “path”.

  1. Abra o PDFCreator e em “Ações” selecione a “aba” “Ações depois de Salvar”;
  2. image 
  3. Abra o “script” para edição e ;
  4. image
  5. modifique os valores das constantes PathToPdftk (indica o diretório de instalação do pdftk.exe)  e WatermarkPDF (indica o arquivo PDF com a marca d´agua a ser utilizado) e salve as alterações;
  6. image
  7. Com isso, todo documento PDF gerado, usando PDFCreator, conterá a marca d´agua definida em WatermarkPDF. Ex.:
  8. image 

Uma outra forma de gerar a marca d´agua, agora sem usar o PDFCreator, é a utilização direta do programa pdftk.exe via linha de comando. Digite pdtfk –help para as opções de linha de comando ou consulte o modelo em VBScript para saber como implementá-lo usando, por exemplo WaitRun ou WaitRunSrv.

Ex.:

Para a inclusão da Marca D´agua no Client.

#INCLUDE "PROTHEUS.CH"
User Function WatermarkPDF( cPDFFile , WatermarkPDF , cPDWatermarkPDF )

    Local cCMD := ""
    cCMD := "pdftk.exe"
    cCMD += " "
    cCMD += cPDFFile
    cCMD += " "
    cCMD += "background"
    cCMD += " "
    cCMD += WatermarkPDF
    cCMD += " "
    cCMD += "output"
    cCMD += " "
    cCMD += cPDWatermarkPDF

Return( WaitRun( cCMD ) )   

Para a inclusão da Marca D´agua no Server

#INCLUDE "PROTHEUS.CH"
User Function WatermarkPDF( cPDFFile , WatermarkPDF , cPDWatermarkPDF )

    Local cCMD := ""
    cCMD := "pdftk.exe"
    cCMD += " "
    cCMD += cPDFFile
    cCMD += " "
    cCMD += "background"
    cCMD += " "
    cCMD += WatermarkPDF
    cCMD += " "
    cCMD += "output"
    cCMD += " "
    cCMD += cPDWatermarkPDF

Return( WaitRunSrv( cCMD , .T. , "c:\windows\system32" ) )

Para maiores informações sobre a WaitRunSrv consulte: Protheus :: Executando aplicações externas no "Server" utilizando WaitRunSrv

[]s
иαldσ dj

Comentários

  1. Ótima dica Naldo,
    Aproveitando...
    Tem alguma maneira de colocar o nome do arquivo PDF no cabeçalho de cada página referente a cada PDF vinculado?

    Atenciosamente,
    Otávio Sparrenberger

    ResponderExcluir

Postar um comentário

Postagens mais visitadas