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.

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.
// 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.

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
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.
- Crie a contaBeta aberto, sem cartão.
- Monte uma telaNo visual, no código ou pedindo à IA.
- Baixe o .zipUm projeto Laravel que roda onde você quiser.