Gestire i font e lo stile del testo con NextPDF Connect
In sintesi
Sezione intitolata “In sintesi”Creare un documento con più stili modificando il font tra un blocco di testo e l’altro. set_font imposta il tipo di carattere, lo stile e la dimensione attivi. Questo stato persiste per ogni add_text successivo finché non viene modificato. Gli strumenti necessari sono create_pdf, set_font, add_text e output_pdf — tutti Core. I parametri di stato del testo governano il rendering dei glifi (ISO 32000-2 §9).
Installazione
Sezione intitolata “Installazione”composer require nextpdf/serverAssociare un trasporto. Sono disponibili tre famiglie di font integrate senza file di font aggiuntivi: helvetica, times e courier.
Panoramica concettuale
Sezione intitolata “Panoramica concettuale”set_font accetta family, style ("", "B", "I", "BI", "U") e size. Il font impostato si applica a ogni chiamata add_text successiva fino al set_font successivo. Non è previsto alcun reset automatico. Quando add_text include un font_size, tale valore sovrascrive la dimensione attiva solo per quella singola chiamata, mentre la dimensione di set_font torna ad applicarsi alla chiamata successiva. Il testo viene emesso dagli operatori di visualizzazione del testo nell’ordine del flusso di contenuto (ISO 32000-2 §9.4). add_text non ha un parametro di colore. Il colore del testo proviene dal colore dell’inchiostro nello stato grafico del documento.
Superficie API
Sezione intitolata “Superficie API”| Strumento | Ruolo | Livello di rischio |
|---|---|---|
create_pdf | Aprire una sessione | Sicuro |
set_font | Impostare typeface/style/size attivi | Attenzione |
add_text | Scrivere testo nel font attivo | Attenzione |
output_pdf | Generare e restituire il PDF | Approvazione richiesta / Revisione (base64) |
Il catalogo degli strumenti è il catalogo di riferimento. Gli strumenti disponibili dipendono dal livello installato.
Esempio di codice — Avvio rapido
Sezione intitolata “Esempio di codice — Avvio rapido”create_pdf(A4 verticale) →document_id.set_font(helvetica,B, 24) poiadd_text(titolo, centrato).set_font(helvetica,"", 12) poiadd_text(corpo giustificato).set_font(courier,I, 10) poiadd_text(uno snippet di codice).output_pdf.
Esempio di codice — Produzione
Sezione intitolata “Esempio di codice — Produzione”Impostare esplicitamente il font prima di ogni blocco in cui la tipografia è rilevante. Non fare mai affidamento sullo stato ereditato tra sezioni logiche. Usare l’override font_size per singola chiamata solo per enfasi occasionali, poiché non persiste. Costruire il documento sezione per sezione e verificare che ogni add_text restituisca una position.
Casi limite e insidie
Sezione intitolata “Casi limite e insidie”- Famiglia sconosciuta. Qualsiasi valore diverso da
helvetica/times/courier(per esempioarial) viene rifiutato. - Famiglia vuota.
familydeve essere una stringa non vuota. - Stile non valido. Usare i codici in maiuscolo.
"bold"viene rifiutato. - Dimensione non positiva.
sizedeve essere un numero positivo. - La dimensione per singola chiamata è temporanea. Non modifica lo stato di
set_font.
Prestazioni
Sezione intitolata “Prestazioni”I font integrati aggiungono un overhead trascurabile e l’output è di pochi KB. Il profilo è structural.
Note di sicurezza
Sezione intitolata “Note di sicurezza”In modalità base64 non ci sono effetti collaterali sul filesystem. I font integrati non caricano alcun file di font esterno, quindi questa ricetta non espone alcuna superficie di attacco legata al parsing dei font.
Conformità
Sezione intitolata “Conformità”| Dichiarazione | Specifica | Clausola | reference_id |
|---|---|---|---|
| Il testo viene mostrato dagli operatori di testo nell’ordine del flusso. | ISO 32000-2 | §9.4 | |
| I parametri di stato del testo governano il rendering dei glifi. | ISO 32000-2 | §9 |
Contesto commerciale
Sezione intitolata “Contesto commerciale”Non applicabile — tutti gli strumenti sono Core.
Disponibilità del trasporto
Sezione intitolata “Disponibilità del trasporto”| Trasporto | Disponibile | Note |
|---|---|---|
| MCP (stdio) | Sì | tools/call per strumento. |
| REST | Sì | Un’operazione per strumento. |
| gRPC | Sì | Una chiamata unaria per strumento. |
Livello di rischio HITL
Sezione intitolata “Livello di rischio HITL”create_pdf Sicuro; set_font/add_text Attenzione; output_pdf Approvazione richiesta, declassato a Revisione in modalità base64 (livelli di rischio HITL).
Envelope JSON per il gate di conferma
Sezione intitolata “Envelope JSON per il gate di conferma”Output base64:
{ "allowed": true }