Stimi il risparmio dei sottoinsiemi di font nei PDF
Questo strumento confronta i caratteri distinti usati in un PDF con l'inventario completo dei glifi del font incorporato.
Esegui gratis nel browser
Indica le percentuali stimate conservata e risparmiata, i glifi rimossi e il rapporto di riduzione. Il calcolo è trasparente: presume che lo spazio sia distribuito uniformemente tra i glifi. È quindi utile per pianificare e confrontare prima di rigenerare il PDF, senza promettere una precisione in byte che i soli due conteggi non possono offrire.
Che cosa indica la stima
Un font incorporato per intero può contenere migliaia di glifi anche quando il documento utilizza soltanto un alfabeto ridotto, alcune cifre e la punteggiatura. La creazione di un sottoinsieme conserva i glifi necessari per visualizzare il documento ed esclude gli altri. Inserisca il numero completo di glifi del font e quello dei caratteri distinti presenti nel PDF. Lo strumento considera ogni carattere usato come un glifo conservato, quindi confronta il sottoinsieme con l'inventario completo. La percentuale di risparmio rappresenta la quota stimata dei dati relativi ai glifi che potrebbe essere rimossa. La percentuale conservata mostra la quota complementare, mentre il rapporto di riduzione esprime quante volte l'inventario completo supera il sottoinsieme stimato. Questi valori sono particolarmente utili per ordinare rapidamente documenti o font. Un forte risparmio potenziale suggerisce di approfondire il subsetting; un risultato vicino a zero indica che il documento usa già quasi tutti i glifi disponibili. La stima riguarda la parte del font incorporato, non l'intero file PDF. Immagini, flussi di contenuto, metadati, struttura e altre risorse incorporate rimangono invariati.
Come funziona il modello proporzionale
L'algoritmo divide i caratteri distinti usati per il numero totale di glifi, ottenendo la frazione stimata da conservare. Sottrae tale frazione da uno per stimare il risparmio, converte entrambe in percentuali e arrotonda i valori visualizzati a due decimali. Sottrae inoltre il conteggio usato dal totale per indicare quanti glifi potrebbero essere eliminati. Si tratta di un modello proporzionale dell'ingombro dei glifi, non di un analizzatore di font. Nei font reali ogni glifo non occupa esattamente lo stesso numero di byte: un semplice spazio può richiedere pochi dati di contorno, mentre un ideogramma complesso può richiederne molti di più. I font contengono inoltre tabelle per nomi, metriche, regole di composizione, assi variabili, ottimizzazione della resa, crenatura e mappatura dei caratteri. Alcune sono costi fissi, altre possono ridursi con il sottoinsieme. Interpreti quindi il risultato come una metrica di pianificazione coerente basata sull'ipotesi di un glifo medio uniforme. Dai soli conteggi non si può ricavare il risparmio assoluto in byte. Servirebbero anche la dimensione originale del font incorporato, il formato, la compressione, le funzioni tipografiche mantenute, le dipendenze dei glifi composti e il programma di subsetting.
Come ottenere conteggi affidabili
Usi il numero di glifi del programma font esatto incorporato nel PDF o destinato a esso, non quello di un font desktop dal nome simile. Versioni e varianti regionali differenti possono avere inventari diversi. Conteggi i caratteri distinti nell'intero documento dopo aver stabilito le regole di normalizzazione del testo, perché sequenze visivamente uguali possono usare punti di codice Unicode differenti. Ricordi che il numero di caratteri non equivale sempre a quello dei glifi. Le legature possono unire più caratteri in un glifo, la composizione contestuale può selezionare forme diverse e i glifi composti possono richiamare componenti non evidenti nel testo. Questo strumento usa intenzionalmente il conteggio dei caratteri distinti come approssimazione pratica, perché è il dato disponibile. Nei confronti applichi lo stesso metodo a ogni documento, mantenendo così stime coerenti. Se i caratteri usati superano i glifi totali, la richiesta viene respinta anziché produrre un risparmio negativo. Ciò segnala di solito fonti non corrispondenti, confusione tra caratteri totali e distinti oppure un font sostitutivo omesso. Dopo aver generato il PDF reale, verifichi il sottoinsieme con uno strumento di ispezione PDF e confronti le dimensioni effettive per ottenere la misura definitiva.
Casi d'uso
Dare priorità all'ottimizzazione PDF
Confronti il risparmio stimato in un gruppo di file ed esamini prima i documenti con la quota maggiore di glifi inutilizzati.
Valutare diverse scelte di font
Stimi se un ampio font multilingue aggiunge molto più peso rispetto a uno adatto al sistema di scrittura del documento.
Definire le attese prima dell'esportazione
Fornisca al team di produzione una stima relativa trasparente prima di ricreare il PDF con il subsetting attivo.
Domande frequenti
Il risultato prevede il numero esatto di byte risparmiati?
No. I conteggi consentono una stima relativa, ma i byte dipendono anche dalla complessità dei glifi, dalle tabelle, dal formato, dalla compressione e dal programma usato.
Perché usare i caratteri distinti invece del numero totale?
I caratteri ripetuti normalmente riutilizzano lo stesso glifo incorporato, quindi il conteggio distinto rappresenta meglio l'inventario del sottoinsieme.
La percentuale di risparmio vale per tutto il PDF?
No. Si applica alla parte stimata dei glifi del font incorporato. Gli altri contenuti del PDF non cambiano.
Che cosa accade se i caratteri usati superano i glifi?
L'input viene respinto perché i conteggi sono incoerenti e produrrebbero altrimenti un risparmio negativo.
È possibile indicare zero caratteri distinti?
Sì. Rappresenta un documento teorico che non conserva glifi di caratteri e genera una stima proporzionale di risparmio totale.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002; lo stesso calcolo deterministico può essere eseguito anche nel browser.
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/embed-font-subset-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"full_glyph_count":2048,"distinct_characters_used":180}'const res = await fetch("https://api.kit.forhosting.com/pdf/embed-font-subset-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"full_glyph_count": 2048,
"distinct_characters_used": 180
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/embed-font-subset-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"full_glyph_count": 2048,
"distinct_characters_used": 180
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/embed-font-subset-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"full_glyph_count":2048,"distinct_characters_used":180}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"full_glyph_count":2048,"distinct_characters_used":180}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/embed-font-subset-estimate", 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
{
"full_glyph_count": 2048,
"distinct_characters_used": 180
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.embed_font_subset_estimate",
"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_mb | 25 |
max_pages | 200 |
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. |