ppdf – nova biblioteca de gerar pdf

Esta biblioteca é uma alternativa a lib pdf.pris.

Suporta:

  • Cabeçalho de informação.
  • Texto
  • linha e retângulo.
  • imagens – jpeg e ppm.
  • código de barra.
  • marcadores de página.

Baixe o código fonte com binário aqui: ppdf

Caso use Prisma em Linux 32bits instale o ppdf.so

já compilado, para outras distros incompatíveis, é necessário compilar.

Para Windows instale ppdf.dll

Esta lib estará incluída em Prisma a partir da versão 1.0.104 ou superior.

Veja o arquivo de referência e os exemplos na pasta Exemplos. aqui vou postar dois exemplos:

 

Exemplos 1:

 

Exemplo 2:

 

Manual de referência:

Manual de referência da biblioteca ppdf-0.1 Prisma.

Inclua a biblioteca: local ppdf = inclua’ppdf’;

1 pdf, err = ppdf.crie(tab);

Cria um novo objeto pdf.

Parâmetros:

tab – uma tabela que deve conter os seguintes campos:

local tab = {

nome_programa = ‘Programa gerador’, produtor = ‘programa gerador’,

titulo = ‘titulo pdf’, autor = ‘Nome Autor’, data = ‘dia, mês, ano, hora etc’,

sobre = ‘uma descrição sobre o pdf gerado’

}

Retornos:

pdf – um objeto pdf ou nulo em caso de erro.

err – (número) código erro. Ou nulo se não houver erro.

2 – ret, err = ppdf.def_fonte(pdf, NomeFonte);

Define uma fonte para o texto em pdf (o padrão é Times-roman);

Parâmetros:

pdf – objeto pdf criado previamente.

NomeFonte – string nome da fonte.

Exemplos de fontes compatíveis:

“Helvetica”, “Helvetica-Bold”, “Helvetica-BoldOblique”, “Helvetica-Oblique”, “Courier”, “Courier-Bold”, “Courier-BoldOblique”, “Courier-Oblique”, “Times-Roman”, “Times-Bold”, “Times-Italic”, “Times-BoldItalic”, “Symbol”, “ZapfDingbats”

Retornos:

ret – nulo (falha) ou verdadeiro (sucesso);

err – (número) código erro. Ou nulo se não houver erro.

3pag, err = ppdf.ad_pagina(pdf);

Cria uma nova página.

Parâmetros:

pdf – objeto pdf criado previamente.

Retornos:

pag – objeto da página criada.

err – (número) código erro. Ou nulo se não houver erro.

4 – ret, err = ppdf.ad_texto_quebralinha(pdf, pag, txt, tam_fonte, X, Y,Cor,Alt);

Insere texto com quebra automática de linha.

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

txt – o texto a ser inserido.

tam_fonte – tamanho da fonte (numero) ex.: 12

X – posição X (coluna)

Y – posição Y (linha); (Obs.: a linha é contada de baixo para cima, então 10 será o rodapé, alt – 10 é cabeçalho.)

Cor – (numero) cor da letra ( pode ser em hexadecimal, ex.: 0x008000 = verde, 0xFF0000 = vermelho. Ou use a função ppdf.rgb(r,g,b) – em que r, g e b é um valor de 0 a 255 ou 0x00 a 0xff )

Alt – altura do texto.

Retornos:

ret – nulo em caso de erro ou verdadeiro em caso de sucesso.

err – (numero) código de erro.

5 – Cor = ppdf.rgb(r,g,b);

Retorna uma cor.

Parâmetros:

r – número de 0 a 255 (ou em hexa 0x00 a 0xff); (red – vermelho);

g – número de 0 a 255 (ou em hexa 0x00 a 0xff); (green – verde);

b – número de 0 a 255 (ou em hexa 0x00 a 0xff); (blue – azul);

Obs. da combinação dessas três cores são geradas as demais.

Dica – Existem algumas cores pre-definidas, veja na seção Constantes reservadas – Cores.

Retornos:

Cor – (numero) cor criada a partir da combinação rgb.

6 – Ret, Err = ppdf.ad_retangulo(pdf, pag, X, Y, larg, alt, larg_borda, cor);

Insere um retângulo.

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

X – (número) posição X (coluna);

Y – (número) posição Y (linha);

larg – (número) largura do retângulo.

alt – (número) altura do retângulo.

larg_borda – (número) largura do traço da borda.

cor – (número) cor.

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

7 – Ret, Err = ppdf.ad_ppm(pdf, pag, X, Y, larg, alt, Nome);

Insere uma imagem .ppm.

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

X – (número) posição X (coluna);

Y – (número) posição Y (linha);

larg – (número) largura.

alt – (número) altura.

Nome – (string) caminho do arquivo ppm. (relativo se estiver na mesma pasta ou absoluto);

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

8 – Ret, Err = ppdf.ad_jpeg(pdf, pag, X, Y, larg, alt, Nome);

Insere uma imagem .jpeg.

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

X – (número) posição X (coluna);

Y – (número) posição Y (linha);

larg – (número) largura.

alt – (número) altura.

Nome – (string) caminho do arquivo .jpeg (ou .jpg, .JPG). (relativo se estiver na mesma pasta ou absoluto);

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

9 – Ret, Err = ppdf.ad_codigo_barra(pdf, pag,tipo, X, Y, larg, alt, BarTxt, Cor);

Insere um código de barra. (Suporte para 128A apenas);

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

tipo – (número) ppdf.CODIGOBARRA_128A = 0; tipo de código de barra (Suportado apenas 128A);

X – (número) posição X (coluna);

Y – (número) posição Y (linha);

larg – (número) largura.

alt – (número) altura.

BarTxt – (string) Texto a ser codificado no código de barras.

(Obs.: 128 A: Podem ser codificadas letras maiúsculas, números, caracteres de pontuação e caracteres especiais.) Ex.: ‘AA233B55L’

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

10 – Ret, Err = ppdf.ad_texto(pdf,pag,txt,tam_fonte,x,y,cor);

Insere um texto.

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

txt – (string) texto a ser inserido.

tam_fonte – (número) tamanho da fonte.

X – (número) posição X (coluna);

Y – (número) posição Y (linha);

cor – (número) cor. (veja a função ppdf.rgb(r,g,b);)

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

11 – Ret, Err = ppdf.ad_texto(pdf,pag,aX,aY,bX,bY,larg_lin,cor);

Insere um texto.

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

aX – (número) posição X do início da linha. (coluna)

aY – (número) posição Y do início da linha. (linha);

bX – (número) posição X do final da linha(coluna);

bY – (número) posição Y do final da linha (linha);

cor – (número) cor. (veja a função ppdf.rgb(r,g,b);)

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

12 – Ret, Err = ppdf.ad_retangulo_preenchido(pdf,pag,x,y,larg,alt,larg_borda,cor);

Insere um retângulo com preenchimento de cor.

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

X – (número) posição X (coluna);

Y – (número) posição Y (linha);

larg – (número) largura do retângulo.

alt – (número) altura do retângulo.

larg_borda – (número) largura do traço da borda.

cor – (número) cor.

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

13 – Ret, Err = ppdf.ad_marcador (pdf,page,id,nome);

Cria um marcador de página. (O painel esquerdo do leitor de pdf);

Parâmetros:

pdf – objeto pdf criado previamente.

pag – objeto página criado anteriormente ou nulo para página atual.

id – um número identificador da página ou -1 para a página atual.

nome – (string) nome que será visualizado no marcador.

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

14 – Ret, Err = ppdf.salve (pdf, nome);

Salva o arquivo pdf.

Parâmetros:

pdf – objeto pdf criado previamente.

nome – (string) nome do arquivo a ser salvo. Ex.: ‘teste.pdf’

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

15 – Ret, Err = ppdf.destrua (pdf);

Destrói os objetos criados e libera a memória.

Parâmetros:

pdf – objeto pdf criado previamente.

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

16 – Str_err = ppdf.obt_erro(pdf);

Pega a descrição de erro.

Parâmetros:

pdf – objeto pdf criado previamente.

Retornos:

Str_err – string em caso de erro, ou nulo se não houver erro.

17 – Larg, Err = ppdf.obt_larg_texto_na_fonte (pdf, Nome_fonte, txt, tam);

Obtém largura do texto txt em uma fonte passada como parâmetro no tamanho tam.

Parâmetros:

pdf – objeto pdf criado previamente.

Nome_fonte – o nome da fonte. (Veja acima na relação de fontes compatíveis no item 2);

txt – (string) o texto a ser examinado a largura.

tam – (número) Tamanho da fonte.

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

18 – Larg, Err = ppdf.obt_altura (pdf);

Obtém a altura da página.

Parâmetros:

pdf – objeto pdf criado previamente.

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

19 – Larg, Err = ppdf.obt_largura(pdf);

Obtém a largura da página.

Parâmetros:

pdf – objeto pdf criado previamente.

Retornos:

Ret – nulo em caso de erro ou verdadeiro.

Err – (número) código de erro.

20 – Constante predefinidas:

20.1 – Largura e Altura da página: //é possível facilmente criar novos valores padrões.

Formato carta: ppdf.LARG_CARTA; ppdf.ALT_CARTA;

Formato A4: ppdf.LARG_A4; ppdf.ALT_A4;

20.2 – Tipo código de barra:

ppdf.CODIGOBARRA_128A

20.3 – Cores:

ppdf.VERMELHO;

ppdf.VERMELHOESCURO;

ppdf.VERDELIMAO

ppdf.VERDE;

ppdf.VERDEESCURO;

ppdf.AZUL;

ppdf.AZULESCURO;

ppdf.AMARELO;

ppdf.PRETO;

ppdf.DOURADO;

ppdf.CINZA;

ppdf.CINZA2;

ppdf.CINZA3;

ppdf.CINZA4;

ppdf.CINZA5;

ppdf.ROXO;

ppdf.LARANJA;

ppdf.LARANJAESCURO;

ppdf.CIANO;

ppdf.CIANOESCURO;

ppdf.TURQUESA;

ppdf.TURQUESAESCURO;

ppdf.MARROM;

ppdf.MARROMESCURO;

ppdf.MAGENTA;

ppdf.ROSA;

ppdf.ROSA2;

ppdf.ROSA3;

Para usar outras cores busque na internet por tabela de cor html. Use o formato hexa trocando o # por 0x ex.: vermelho: #ff0000 → 0xFF0000. Ou use os números rgb com a função ppdf.rgb(r,g,b);

Para mais detalhes veja os exemplos na pasta Exemplos.

FIM

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *