Controle fontes e estilos de texto no NextPDF Connect
Visão geral
Seção intitulada “Visão geral”Monte um documento com vários estilos de texto alternando fontes entre blocos de texto. set_font define a fonte, o estilo e o tamanho ativos. Esse estado se aplica a cada chamada add_text seguinte até você alterá-lo. Você precisa de create_pdf, set_font, add_text e output_pdf — todas ferramentas do Core. Os parâmetros de estado de texto controlam a renderização dos glifos (ISO 32000-2 §9).
Instalação
Seção intitulada “Instalação”composer require nextpdf/serverVincule um transporte. Você pode usar três famílias de fontes integradas sem adicionar arquivos de fonte: helvetica, times e courier.
Visão conceitual
Seção intitulada “Visão conceitual”set_font recebe family, style ("", "B", "I", "BI", "U") e size. A fonte que você define se aplica a toda chamada add_text posterior até você chamar set_font novamente. Não há redefinição automática. Quando add_text inclui font_size, esse valor substitui o tamanho ativo apenas para essa única chamada. O tamanho de set_font volta na próxima chamada. O texto é emitido por operadores de exibição de texto na ordem do content stream (ISO 32000-2 §9.4). add_text não tem parâmetro de cor. A cor do texto vem da cor de tinta do estado gráfico do documento.
Superfície da API
Seção intitulada “Superfície da API”| Ferramenta | Função | Nível de risco |
|---|---|---|
create_pdf | Abre a sessão | Seguro |
set_font | Define a typeface/style/size ativa | Cuidado |
add_text | Escreve texto na fonte ativa | Cuidado |
output_pdf | Renderiza e retorna o PDF | Aprovação obrigatória / Revisão (base64) |
O catálogo de ferramentas é o catálogo de referência. As ferramentas que você pode usar dependem da edição instalada.
Exemplo de código — Início rápido
Seção intitulada “Exemplo de código — Início rápido”create_pdf(A4 retrato) →document_id.set_font(helvetica,B, 24) e entãoadd_text(título, centralizado).set_font(helvetica,"", 12) e entãoadd_text(corpo justificado).set_font(courier,I, 10) e entãoadd_text(um trecho de código).output_pdf.
Exemplo de código — Produção
Seção intitulada “Exemplo de código — Produção”Defina a fonte explicitamente antes de cada bloco em que a tipografia importa. Nunca confie em estado herdado entre seções lógicas. Use a substituição de font_size por chamada apenas para um destaque pontual, pois ela não persiste. Monte o documento seção por seção e verifique se cada add_text retorna uma position.
Casos extremos e pegadinhas
Seção intitulada “Casos extremos e pegadinhas”- Família desconhecida. Qualquer coisa fora de
helvetica/times/courier(por exemploarial) é rejeitada. - Família vazia.
familydeve ser uma string não vazia. - Estilo inválido. Use os códigos em maiúsculas.
"bold"é rejeitado. - Tamanho não positivo.
sizedeve ser um número positivo. - O tamanho por chamada é temporário. Ele não altera o estado de
set_font.
Desempenho
Seção intitulada “Desempenho”As fontes integradas adicionam peso desprezível, e a saída tem alguns KB. O perfil é structural.
Notas de segurança
Seção intitulada “Notas de segurança”O modo base64 não tem efeito colateral no sistema de arquivos. As fontes integradas não ingerem arquivos de fonte externos, então esta receita não tem superfície de ataque de análise de fontes.
Conformidade
Seção intitulada “Conformidade”| Declaração | Especificação | Cláusula | reference_id |
|---|---|---|---|
| O texto é exibido por operadores de texto na ordem do stream. | ISO 32000-2 | §9.4 | |
| Os parâmetros de estado de texto governam a renderização dos glifos. | ISO 32000-2 | §9 |
Contexto comercial
Seção intitulada “Contexto comercial”Não se aplica — todas as ferramentas são do Core.
Disponibilidade de transporte
Seção intitulada “Disponibilidade de transporte”| Transporte | Disponível | Notas |
|---|---|---|
| MCP (stdio) | Sim | tools/call por ferramenta. |
| REST | Sim | Uma operação por ferramenta. |
| gRPC | Sim | Unário por ferramenta. |
Nível de risco HITL
Seção intitulada “Nível de risco HITL”create_pdf Seguro; set_font/add_text Cuidado; output_pdf Aprovação obrigatória, rebaixada para Revisão no modo base64 (níveis de risco HITL).
Envelope JSON da etapa de confirmação
Seção intitulada “Envelope JSON da etapa de confirmação”Saída em base64:
{ "allowed": true }