Gerar Relatório em PDF SQLite 3

Ejemplos y plantillas para Autoplay Media Studio.
HIDE: ON
Hidebb Message Hidden Description


Este plugin SQLite3 também usa as mesmas ações e parâmetros que o plugin SQLite original, para a versão 2.x, que acompanha o AutoPlay Media Studio. Isso significa que a migração de um projeto de SQLite2 para SQLite3 é muito fácil e rápida. Não é necessário reescrever todo o código para combinar o LuaSQL ou a sintaxe do wrapper!


http://uploaddeimagens.com.br/imagens/image1-png--27

https://uploaddeimagens.com.br/imagens/image2-png--17

require "hpdf"
require "common"

function S_Logotipo (PDF_Page)
	image = hpdf.LoadPngImageFromFile(PDF_Relatorio, "AutoPlay\\Images\\DrInforSystem.png");
	local iw = hpdf.Image_GetWidth(image);
   	local ih = hpdf.Image_GetHeight(image);
	hpdf.Page_DrawImage(PDF_Page, image, 40, 700, 160, 45);

end

function G_PDF(PDF_Page)
hpdf.Page_SetLineWidth(PDF_Page, 0.2);
	--hpdf.Page_Rectangle(PDF_Page, 310, 605, 230, 70);
	--hpdf.Page_Stroke(PDF_Page);
end


function sTopo(PDF_PAGINA,LINHA)
hpdf.Page_BeginText(PDF_PAGINA);
font5=hpdf.GetFont(PDF_Relatorio, "Times-Bold","WinAnsiEncoding");
hpdf.Page_SetFontAndSize(PDF_PAGINA, font5, 9);
hpdf.Page_TextOut(PDF_PAGINA, 45,LINHA,"ID");
hpdf.Page_TextOut(PDF_PAGINA, 110,LINHA,"NOME");
hpdf.Page_TextOut(PDF_PAGINA, 270,LINHA,"DATA");
hpdf.Page_TextOut(PDF_PAGINA, 340,LINHA,"TELEFONE");
hpdf.Page_TextOut(PDF_PAGINA, 430,LINHA,"EMAIL");
hpdf.Page_EndText(PDF_PAGINA)
end
	
function PDF_Controle (PDF_PAGINA)
hpdf.Page_BeginText(PDF_NOMEPAGINA);
font4=hpdf.GetFont(Factura_pdf, "Times-Bold","WinAnsiEncoding");
hpdf.Page_SetFontAndSize(PDF_NOMEPAGINA, font4, 12);
hpdf.Page_TextOut(PDF_NOMEPAGINA, 400,800,"RELATÓRIO DE VISITAS NO DIA "..vDiaRelatorio);
hpdf.Page_EndText(PDF_NOMEPAGINA);
end

	
function sPie (PAGINA,NUMERODEPAGINA,TOTALPAGINAS)
hpdf.Page_BeginText(PAGINA);
font3=hpdf.GetFont(PDF_Relatorio, "Courier","WinAnsiEncoding");
hpdf.Page_SetFontAndSize(PAGINA, font3, 7);
hpdf.Page_TextOut(PAGINA, 435,35,"Página "..NUMERODEPAGINA.." de "..TOTALPAGINAS);
hpdf.Page_EndText(PAGINA)
end

function sAguardando()
StatusDlg.Show();
StatusDlg.SetTitle("GERANDO PÁGINAS ");
StatusDlg.SetMeterRange(1, PDF_NUMEROS_DE_PAGINAS);
StatusDlg.SetMeterPos(PDF_CONTADOR);
StatusDlg.SetStatusText("PÁGINA. . . " .. PDF_CONTADOR.." DE "..PDF_NUMEROS_DE_PAGINAS );
end


if tInfo_Selected ~= nil then
PDF_Relatorio = hpdf.New()
if PDF_Relatorio then
s_LINHAS_POR_PAGINA = 59 ;
PDF_NUMEROS_DE_PAGINAS = tInfo_Selected.Rows / s_LINHAS_POR_PAGINA;
PDF_NUMEROS_DE_PAGINAS = Math.Ceil(PDF_NUMEROS_DE_PAGINAS );
Dialog.Message("páginas",tostring(PDF_NUMEROS_DE_PAGINAS))
PDF_CONTADOR = 0;
PDF_CONTADOR2 = 1;
		
nRow =0 ;
LINHA = 690 ;
LINHA2 = 675 ;
		
while PDF_CONTADOR < PDF_NUMEROS_DE_PAGINAS  do
font=hpdf.GetFont(PDF_Relatorio, "Helvetica","WinAnsiEncoding");
PDF_CONTADOR = PDF_CONTADOR + 1
sAguardando()


PDF_NOMEPAGINA = "página"..PDF_CONTADOR;

PDF_NOMEPAGINA = hpdf.AddPage(PDF_Relatorio);
hpdf.Page_SetWidth (PDF_NOMEPAGINA,595.276);
hpdf.Page_SetHeight (PDF_NOMEPAGINA,841.89);
hpdf.Page_SetFontAndSize(PDF_NOMEPAGINA, font, 10);

G_PDF(PDF_NOMEPAGINA) ;

S_Logotipo(PDF_NOMEPAGINA);
				
sTopo(PDF_NOMEPAGINA,LINHA);
sPie (PDF_NOMEPAGINA,PDF_CONTADOR,PDF_NUMEROS_DE_PAGINAS);
for PDF_CONTADOR2 = 1, tInfo_Selected.Rows do
      				
nRow = nRow + 1;
font2=hpdf.GetFont(PDF_Relatorio, "Courier","WinAnsiEncoding");
hpdf.Page_SetFontAndSize(PDF_NOMEPAGINA, font2, 8);
							
hpdf.Page_BeginText(PDF_NOMEPAGINA);
hpdf.Page_TextOut(PDF_NOMEPAGINA,  45,LINHA2, tInfo_Selected.Data[nRow]["ID"]);
hpdf.Page_TextOut(PDF_NOMEPAGINA, 110,LINHA2, tInfo_Selected.Data[nRow]["NOME"]);
hpdf.Page_TextOut(PDF_NOMEPAGINA, 270,LINHA2, tInfo_Selected.Data[nRow]["DATA"]);
hpdf.Page_TextOut(PDF_NOMEPAGINA, 340,LINHA2, tInfo_Selected.Data[nRow]["TELEFONE"]);
hpdf.Page_TextOut(PDF_NOMEPAGINA, 430,LINHA2, tInfo_Selected.Data[nRow]["EMAIL"]);
LINHA2 = LINHA2 - 12 ;
hpdf.Page_EndText(PDF_NOMEPAGINA);
			
if nRow == tInfo_Selected.Rows or LINHA2 < 59 then							
LINHA2 = 675
break 
    end 
    end
    end
StatusDlg.Hide( )

local res = hpdf.SaveToFile(PDF_Relatorio, _TempFolder.."\\Relatorio.pdf");
hpdf.Free(PDF_Relatorio)

if (res == 0) then
File.Open(_TempFolder.."\\Relatorio.pdf", _TempFolder, SW_SHOWNORMAL);
     else
Dialog.Message("ERRO", "Há um documento aberto com o mesmo nome.".."\r\n".."Salve e/ou feche o arquivo para gerar um novo.", MB_OK, MB_ICONSTOP);	
     end
	 else
Dialog.Message("ERRO", "Erro ao criar o documento PDF.", MB_OK, MB_ICONSTOP);
    end
    else
Dialog.Message("Erro", "Nenhum documento a gerar", MB_OK, MB_ICONSTOP);
end
thnkssssssssssssssss
tnks m8
Gracias
Gracias
:pc: Gracias
...........................................
teşekkürler