Catalog · How the catalog works
Horse-FastReport-ExportPDF
Create and export PDF with Fast Reports and Horse - Free Pascal (Lazarus)
- ★ 5 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
API de Pizzaria
Esta API foi desenvolvida utilizando a linguagem Delphi e o framework Horse. Seu objetivo é fornecer dados relacionados a uma pizzaria e permitir a exportação de relatórios em formato PDF.
Funcionalidades
- Exibição de Dados de Pizzaria:
- Retorna informações sobre as pizzas disponíveis.
- Filtro por
idopcional.
- Geração de Relatórios em PDF:
- Relatório gerado e exportado diretamente.
- Relatório pode ser visualizado ou baixado.
Endpoints
1. GET /pizzas
Retorna uma lista de pizzas em formato JSON.
Parâmetros de Consulta:
id(opcional): Filtra o resultado pelo ID da pizza.
Exemplo de Resposta:
[
{
"id": 1,
"nome": "Margherita",
"preco": 25.00
},
{
"id": 2,
"nome": "Pepperoni",
"preco": 30.00
}
]2. GET /pizzas/open/pdf
Gera um relatório PDF com os dados de pizzas e retorna o arquivo como stream.
Cabeçalhos de Resposta:
Content-Type: application/octet-stream
3. GET /pizzas/create/pdf
Gera e retorna o relatório PDF com os dados de pizzas baseado em um arquivo .fr3 pré-configurado.
Cabeçalhos de Resposta:
Content-Type: application/octet-stream
Estrutura do Código
Unidade: controllers.pizzas
Principais Procedimentos
- getPizzas:
- Recupera dados da pizzaria via
TServicesPizzas. - Converte o resultado para JSON utilizando
DataSet.Serialize.
- Recupera dados da pizzaria via
- onOpenPdfPizzas:
- Gera um relatório PDF diretamente no fluxo de memória utilizando
frxReportefrxPDFExport. - Envia o arquivo gerado como resposta.
- Gera um relatório PDF diretamente no fluxo de memória utilizando
- onCreatePdfPizzas:
- Carrega e gera um relatório com base em um modelo
.fr3. - Exporta o relatório para PDF e retorna ao cliente.
- Carrega e gera um relatório com base em um modelo
Registro dos Endpoints
Os endpoints são registrados no método TPizzas.registry utilizando o grupo THorse.Group.
Dependências
- Horse Framework: Para construção da API REST.
- DataSet.Serialize: Para serialização de dados em JSON.
- FastReport: Para geração de relatórios em PDF.
Como Executar
- Certifique-se de ter o Delphi configurado.
- Adicione as dependências necessárias ao projeto.
- Compile e execute o projeto.
- Acesse os endpoints utilizando uma ferramenta como Postman ou diretamente pelo navegador.
Exemplo de Uso do FastReport
- Relatório
.fr3armazenado no caminho:{caminho_do_projeto}/report/cardapio-pizzas.fr3 - Configuração do
frxReport:frxReport.LoadFromFile('{caminho_do_arquivo}'); frxReport.PrepareReport; frxReport.Export(frxPDFExport);
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests no repositório.
Licença
Este projeto está licenciado sob a Licença MIT.

