Tipo de página

Documento: o registro vira papel timbrado.

Este PDF saiu da mesma venda #1052 que aparece na página de Formulário. Cliente, itens, totais e assinaturas vêm dos dados, sem passar por um editor de texto.

O pedido de venda nº 1052, em PDF

O cabeçalho traz a empresa. Depois vêm os dados do cliente, a tabela de itens, o total e as linhas de assinatura. O total de R$ 13.386,62 é o mesmo que está gravado no banco.

Pedido de venda nº 1052 em PDF, com dados do cliente, itens, total e linhas de assinatura
O pedido nº 1052 da Padaria Pão da Vila, com dois produtos e total de R$ 13.386,62, pronto para enviar ao cliente.

Abrir este PDF

Um template com os campos do registro

O layout é um template que recebe os campos do registro. O controller junta os dados e devolve o PDF pronto para baixar, mandar por e-mail ou anexar.

resources/views/…blade.php
// Controller: pega os dados e devolve o PDF$html = MadBlade::renderString($template, ['venda'   => $venda,'cliente' => $venda->cliente->nome,'itens'   => $itens,'total'   => number_format($venda->valor_total, 2, ',', '.'),]);return response(MadDocPdf::fromHtml($html, ['paper' => 'A4']))->header('Content-Type', 'application/pdf');

Uma central para guardar os documentos

O app gerado também traz uma central de documentos pronta. Ela tem pastas, tags, favoritos, recentes, compartilhados comigo, arquivo morto e lixeira. Ali você guarda o que gerou e o que recebeu.

Central de documentos do app gerado, com menu de recentes, favoritos, pastas, tags e lixeira
A central de documentos que já vem no app, com recentes, favoritos, pastas, tags, arquivo morto e lixeira no menu lateral.

Quando usar o documento

Use o documento quando um registro precisa virar papel para enviar, imprimir ou assinar, sempre no mesmo layout.

  • Pedido e orçamento. Cliente, itens e total, prontos para mandar ao cliente.
  • Ordem de serviço. O serviço feito e a assinatura do cliente e do técnico.
  • Contrato. Cláusulas em texto corrido, quebra de página e a assinatura das duas partes.
  • Recibo. Valor, CPF ou CNPJ já formatados e um QR code que leva ao registro.
  • Etiqueta de estoque. Código de barras num papel do tamanho da etiqueta.

Para vários registros num PDF só, com grupos e totais, use o relatório. Para criar e editar os dados, o formulário. O que o designer de documentos entrega está na geração de código.

O que você configura

O layout é montado em blocos. Estes ajustes são os que mais mudam o papel.

Papel e orientação size
A4 em retrato é o padrão. Para uma etiqueta, o tamanho pode ser sob medida, em milímetros.
Margens e letra margins
As quatro margens, a fonte (font) e o tamanho da letra (font-size) do documento inteiro.
Marca d'água watermark-text
Um texto em diagonal na página, como CÓPIA, com opacidade, ângulo e cor ajustáveis.
Formato do campo format
Moeda, número, porcentagem, data, CPF, CNPJ, CEP ou telefone. Um texto antes do valor, como "Cliente:", vai em prefix.
Tabela de itens model
As linhas de outra tabela, como os produtos do pedido, filtradas pelo registro do documento (filter).
Linha de assinatura role
Uma linha para assinar, com o nome (name) e o papel da pessoa, como Cliente ou Vendedor.

O que vai para o projeto Laravel

O documento é uma classe em app/Control com um método que monta e devolve o PDF, como no trecho acima, mais um layout Blade feito de tags <mad-doc-...>. Na prática:

  • Um endereço por registro. A rota segue o formato /app/docs/{documento}/{id}. Trocando o número, sai o PDF de outro registro.
  • Botão de PDF na listagem. Uma ação na linha (<mad-nav>) abre o documento daquele registro.
  • PDF montado no servidor. Quem desenha o arquivo é o DomPDF, uma biblioteca PHP de código aberto que roda dentro do app.

Como toda tela do MadBuilder, esses arquivos abrem no seu editor, vão para o seu Git e aceitam código à mão em blocos protegidos, que continuam lá quando a tela é gerada de novo. Veja como o código é gerado.

Perguntas sobre o documento

Dá pra colocar código de barras ou QR code no documento?

Dá. Os dois são blocos prontos, e o conteúdo vem do registro, como o número do pedido. O código de barras sai no formato Code 128 por padrão.

O documento pode ter mais de uma página?

Pode. O cabeçalho e o rodapé se repetem em todas as páginas, e você força uma quebra onde quiser, como antes dos termos de um contrato.

Quem pode abrir o PDF de um documento?

Quem tem permissão. O documento entra nos grupos de permissão do perfil como qualquer tela, e quem não fez login vai para a tela de entrada.

E mais

Serve para ordem de serviço, nota, contrato, proposta e reciboBlocos que se repetem para cada itemTabelas de itens com totaisLogo, foto e assinatura vindos do registroCabeçalho e rodapé em todas as páginasEnvio por e-mail ou como anexo do registro

Veja também o Formulário ou os tipos de página.

Crie a conta, monte uma tela, baixe o projeto.

Sem demo agendada e sem call de descoberta. Se o Laravel que sair não passar na revisão do seu time, você perdeu uma tarde.

  1. Crie a contaBeta aberto, sem cartão.
  2. Monte uma telaNo visual, no código ou pedindo à IA.
  3. Baixe o .zipUm projeto Laravel que roda onde você quiser.