Linearizza il PDF
La linearizzazione riorganizza un PDF per il web: invece di dover scaricare l'intero file prima di vedere qualcosa, il browser mostra la prima pagina appena arrivano i primi byte. Si chiama anche fast web view. È perfetta per documenti lunghi pubblicati online, dove l'attesa iniziale fa scappare il lettore.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Che cos'è il fast web view
Un PDF normale va letto tutto prima di essere visualizzato: il visore aspetta l'ultimo byte per costruire la pagina. Un PDF linearizzato è ordinato in modo diverso: le informazioni della prima pagina stanno all'inizio del file, così il browser la disegna subito e carica il resto mentre leggi. Su un manuale di 120 pagine o un catalogo pubblicato online, la differenza tra vedere subito e aspettare dieci secondi è enorme.
Cosa cambia nel file
Cambia l'ordine interno degli oggetti, non il contenuto: testo, immagini e impaginazione restano identici. Il documento pesa più o meno uguale, ma si apre progressivamente. Carica il PDF, il KIT lo linearizza e ti restituisce lo stesso documento pronto per lo streaming pagina per pagina. Puoi farlo dalla pagina web o via API, comodo se pubblichi molti documenti e vuoi che ognuno si apra veloce.
Quando conviene e quando no
Conviene per i PDF che vivono online e vengono aperti direttamente nel browser: brochure, listini, report scaricabili dal sito. Non serve granché se il file è piccolo o se viene sempre scaricato e aperto in locale, perché lì il vantaggio non si nota. Non è una compressione: se il tuo problema è il peso per superare il limite di un portale, ti serve un altro strumento del KIT.
Casi d'uso
Cataloghi pubblicati sul sito
Rossi & Figli S.r.l. di Milano mette online un catalogo prodotti di 90 pagine. Dopo la linearizzazione, chi clicca vede subito la copertina invece di fissare una barra di caricamento, e il resto scorre mentre sfoglia.
Manuali e documentazione tecnica
Un manuale d'uso lungo, linkato da una scheda prodotto, si apre pagina per pagina anche su una connessione mobile lenta. Il lettore inizia a leggere senza attese.
Report allegati a una pagina web
Un report annuale incorporato nella pagina del bilancio si mostra immediatamente: nessuno rinuncia a consultarlo perché ci mette troppo a comparire.
Domande frequenti
La linearizzazione riduce il peso del PDF?
No, non è una compressione. Riordina il file perché si apra pagina per pagina sul web; il peso resta simile. Se devi rendere il file più leggero, ti serve lo strumento di compressione, non questo.
Il contenuto o l'impaginazione cambiano?
No. Testo, immagini e layout restano identici: cambia solo l'ordine interno degli oggetti, quello che permette la visualizzazione progressiva.
Su che documenti ha senso usarla?
Su PDF lunghi che vengono aperti direttamente nel browser dal tuo sito. Su file piccoli o che vengono sempre scaricati prima di aprirli, il vantaggio è trascurabile.
Quanto costa?
$0.042 a documento, prezzo pubblicato e a consumo. Nessun abbonamento: paghi solo i file che ottimizzi.
I miei file restano riservati?
Il PDF viene elaborato sul server e subito eliminato. Non lo teniamo e non lo usiamo per nient'altro; non è richiesta alcuna registrazione.
È già disponibile?
È in dispiegamento, ancora in versione beta: il prezzo è pubblicato e l'esecuzione dalla pagina o via API arriva a breve. Nel frattempo, se ti serve, scrivici e lo facciamo noi.
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/linearize \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pdf":"https://ejemplo.com/documento.pdf"}'const res = await fetch("https://api.kit.forhosting.com/pdf/linearize", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pdf": "https://ejemplo.com/documento.pdf"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/linearize",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pdf": "https://ejemplo.com/documento.pdf"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/linearize", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pdf":"https://ejemplo.com/documento.pdf"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pdf":"https://ejemplo.com/documento.pdf"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/linearize", 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
{
"pdf": "https://ejemplo.com/documento.pdf"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.linearize",
"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. |
413 | input_too_large | Il file o il testo inviato supera il limite di questo strumento. |