Verifichi i font incorporati in un PDF
Un PDF può apparire corretto sul computer in cui è stato creato e cambiare quando viene aperto, stampato o elaborato altrove se uno o più font non sono incorporati.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Questo controllo riceve l’inventario prodotto da uno strumento di ispezione, con l’indicatore di incorporamento per ogni voce, e restituisce un esito chiaro. Elenca inoltre tutti i font che richiedono attenzione, semplificando l’automazione della verifica preliminare.
Perché l’incorporamento rende portabile un PDF
Un PDF descrive sia la disposizione della pagina sia i font usati per disegnare il testo. Quando il programma del font o un sottoinsieme consentito è incorporato, il visualizzatore o la stampante può riprodurre i caratteri in modo coerente. Se manca, il sistema ricevente può scegliere un sostituto locale con forme, larghezze o copertura linguistica diverse. Possono cambiare interruzioni di riga, simboli e impaginazione. Per questo tipografie e archivi verificano l’incorporamento. La capacità valuta nomi e indicatori già estratti applicando una regola uniforme, senza esaminare direttamente i byte del PDF.
Come fornire l’elenco e leggere il risultato
Fornisca almeno un record con nome non vuoto e valore booleano embedded. Usi true solo se lo strumento di origine conferma l’incorporamento e false se ne segnala l’assenza. Il controllo mantiene l’ordine, conta tutte le voci e restituisce separatamente i nomi non incorporati. all_embedded è true soltanto quando tutti gli indicatori sono true. I prefissi dei sottoinsiemi e i duplicati restano invariati perché possono descrivere risorse diverse. Un elenco vuoto, un nome errato o un indicatore non booleano viene rifiutato per impedire conclusioni basate su un’estrazione incompleta.
Inserisca il controllo in una verifica completa
Esegua il controllo dopo aver estratto l’inventario e prima di approvare il PDF per stampa, distribuzione o archiviazione. Se all_embedded è false, utilizzi not_embedded_fonts per creare un rapporto di correzione. L’autore può riesportare con i font originali, scegliere font la cui licenza consenta l’incorporamento o convertire in tracciati il testo grafico appropriato. Estragga poi un nuovo inventario. L’incorporamento è solo un aspetto: colori, risoluzione, abbondanze, riquadri pagina, trasparenza, cifratura e standard PDF possono richiedere altri controlli. La capacità non stabilisce licenze, disponibilità dei glifi o ricercabilità del testo tracciato.
Casi d'uso
Controlli un file per la stampa
Rifiuti un documento se l’inventario estratto contiene una risorsa di font non incorporata.
Protegga la portabilità dei documenti
Verifichi rapporti, manuali e moduli prima della distribuzione per ridurre le sostituzioni tipografiche.
Aggiunga un controllo di qualità
Trasformi i metadati dei font di un’ispezione esistente in un risultato deterministico automatizzabile.
Domande frequenti
Questa capacità apre o analizza il file PDF?
No. Controlla un elenco di font e indicatori forniti da uno strumento di ispezione o prestampa.
Che cosa accade se l’elenco dei font è vuoto?
La richiesta non è valida, perché un’estrazione vuota non consente una conclusione affidabile.
I nomi dei sottoinsiemi sono considerati automaticamente incorporati?
No. I nomi sono solo etichette; il risultato segue l’indicatore booleano esplicito di ogni record.
I nomi di font duplicati vengono rimossi?
No. Ogni record viene contato e ogni occorrenza non incorporata conserva l’ordine di ingresso.
Tutti i font incorporati garantiscono che il PDF sia pronto per la stampa?
No. Il risultato conferma solo gli indicatori forniti; potrebbero servire altri controlli di stampa.
Quanto costa una richiesta API?
Ogni richiesta costa $0.002. La versione per browser usa la stessa logica deterministica.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/pdf/font-embedding-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/font-embedding-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/font-embedding-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/font-embedding-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"fonts":[{"name":"Helvetica","embedded":false},{"name":"ABCDEE+SourceSansPro-Regular","embedded":true},{"name":"TimesNewRomanPSMT","embedded":false}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/font-embedding-check", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"fonts": [
{
"name": "Helvetica",
"embedded": false
},
{
"name": "ABCDEE+SourceSansPro-Regular",
"embedded": true
},
{
"name": "TimesNewRomanPSMT",
"embedded": false
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.font_embedding_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_items | 10000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |