O companheiro inksmith-cli não-interativo valida modelos portáteis e transforma dados JSON em PDFs usando o renderizador Desktop. Ele lê o cache de licença do usuário atual; ele não abre uma janela de desktop ou se conecta ao Press.
Localização da instalação
Os instaladores do Windows NSIS colocam o inksmith-cli.exe ao lado do InkSmith.exe. Windows MSIX registra um alias de execução de aplicativos. O pacote Linux Debian instala inksmith-cli em /usr/bin.
Validar um modelo
inksmith-cli validate --template path/to/template.inks
A validação verifica o pacote, esquema de modelo e as combinações exatas de fontes empacotadas. Não precisa de uma licença.
Renderizar um PDF
inksmith-cli render --template invoice.inks --data customer.json --output invoice.pdf
--data - lê um objeto JSON de entrada padrão. Um arquivo de dados simples pode conter:
{"customer":{"name":"Ada"},"invoice":{"number":"INV-1042"}}
A entrada JSON está limitada a 1 MiB. O caminho de saída deve terminar em .pdf, nomeie um diretório existente, e ainda não existe. O CLI commite o arquivo completo atomicamente e se recusa a sobrescrever um resultado existente.
Lidar com resultados em uma aplicação
Comandos bem sucedidos escrevem um objeto JSON para stdout; falhas escrevem um objeto JSON para stderr. Branch no status de saída e o error.code estável, não a mensagem de exibição.
| Status de saída | Significado |
|---|---|
| 0 | Sucesso |
| 2 | Sintaxe do comando |
| 3 | Dados de entrada ou JSON |
| 4 | Pacote de modelos ou esquema |
| 5 | Destino PDF |
| 6 | Renderizador ou cancelamento |
Ctrl+C cancela a renderização sem cometer um PDF incompleto. A renderização usa os mesmos limites de licença em cache que a exportação do Desktop. Para o Python completo, Node.js e exemplos de shell, veja Exemplos de CLI.