Applicare la numerazione Bates
La numerazione Bates assegna a ogni pagina di un insieme documentale un identificatore stabile e progressivo.
Esegui gratis nel browser
Questo calcolatore produce il piano completo prima che il PDF venga timbrato: inserisca il numero di pagine, il prefisso richiesto, il numero assegnato alla prima pagina e la larghezza desiderata. Il risultato associa ogni posizione fisica al valore numerico e all’etichetta definitiva. Inoltre controlla in anticipo la fine della sequenza, impedendo che una larghezza insufficiente produca identificatori incoerenti nel corso del file.
Definisca il piano prima di modificare il PDF
Un flusso Bates affidabile comincia da un piano di numerazione, non dall’inserimento immediato di testo sulle pagine. Per prima cosa ricavi il totale delle pagine con un lettore o un processo documentale attendibile. Scelga poi un prefisso che identifichi pratica, produzione, cliente, allegato o lotto senza dipendere dal nome del file. Il numero iniziale viene attribuito alla prima pagina fisica, mentre la larghezza stabilisce quante posizioni occupa la parte numerica. Per esempio, iniziando da 17 con larghezza cinque si ottiene 00017. La capacità calcola l’intera sequenza e restituisce per ogni pagina posizione, numero grezzo ed etichetta completa. Poiché non riceve né modifica i byte del PDF, Lei può riesaminare il piano, conservarlo nella traccia di audit o passarlo a un processo di timbratura separato. Questa distinzione agevola l’approvazione prima di applicare segni permanenti e permette a più strumenti di concordare sugli stessi identificatori.
Eviti variazioni di larghezza nel documento
Il riempimento non è soltanto una scelta estetica. I numeri a larghezza fissa si ordinano correttamente come testo, rimangono allineati e sono facili da confrontare tra produzioni. Il controllo decisivo non riguarda solo il numero iniziale, ma quello finale dopo il conteggio di tutte le pagine. Un PDF di 20 pagine che parte da 990 termina a 1009; pertanto una larghezza di tre è invalida anche se 990 sembra rientrare. Il calcolatore determina prima il valore finale e segnala un errore quando le sue cifre superano la larghezza richiesta. Non allarga mai tacitamente le ultime etichette, perché renderebbe incoerente la serie. Se file successivi proseguiranno la numerazione, preveda spazio per la crescita. L’ultimo numero restituito prepara il lotto seguente: inizi da quel valore più uno e mantenga prefisso e larghezza, così da ottenere una produzione continua senza sovrapposizioni o lacune accidentali.
Usi le etichette in sicurezza nei flussi legali
Il risultato è deterministico: input identici producono sempre la medesima mappatura, senza rete, ora corrente o casualità. È quindi adatto alla preparazione di prove, alle richieste di atti pubblici, agli allegati contrattuali, alle indagini interne e all’indicizzazione d’archivio. Se la catena di custodia è rilevante, conservi la mappatura insieme al checksum del documento originale e a quello del PDF timbrato definitivo. Prima della timbratura confermi che il conteggio includa tutte le pagine elaborate, comprese copertine, separatori, appendici e pagine intenzionalmente vuote. Verifichi anche grafia e punteggiatura del prefisso, inizio e larghezza richiesti dalla produzione. Questa capacità calcola esclusivamente etichette: non modifica il PDF, non ne analizza il contenuto, non rileva numeri esistenti e non decide dove collocare il segno. Lei può quindi validare separatamente la sequenza e poi gestire carattere, colore e margini con uno strumento PDF specifico.
Casi d'uso
Pianificare una produzione legale
Crei la mappatura esatta tra pagine ed etichette prima di applicare timbri Bates permanenti al lotto.
Continuare la numerazione tra PDF
Utilizzi l’ultimo numero del lotto precedente per iniziare il documento successivo senza duplicati o lacune.
Verificare una timbratura automatica
Confronti le etichette pianificate con i segni estratti o controllati visivamente dopo la modifica eseguita da un altro strumento.
Domande frequenti
Questa capacità modifica il mio PDF?
No. Riceve il totale delle pagine e le impostazioni, quindi restituisce l’etichetta per ogni pagina. Un altro strumento può applicarle.
Che cosa accade se la larghezza è insufficiente?
La richiesta restituisce un errore di input se il numero finale contiene più cifre della larghezza prevista. Le etichette non vengono mai ampliate tacitamente.
Il prefisso può essere vuoto?
Sì. Una stringa vuota genera etichette contenenti soltanto il numero progressivo completato con zeri.
La numerazione può partire da zero?
Sì. Il valore iniziale può essere zero o qualsiasi intero sicuro non negativo, purché l’intervallo completo resti entro il limite sicuro.
Quanto costa una richiesta API?
Ogni richiesta costa $0.002. La versione nel browser esegue lo stesso calcolo deterministico senza inviare il contenuto PDF.
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/bates-numbering \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_count":4,"prefix":"CASE-","start_number":17,"padding_width":5}'const res = await fetch("https://api.kit.forhosting.com/pdf/bates-numbering", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_count": 4,
"prefix": "CASE-",
"start_number": 17,
"padding_width": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/bates-numbering",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_count": 4,
"prefix": "CASE-",
"start_number": 17,
"padding_width": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/bates-numbering", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_count":4,"prefix":"CASE-","start_number":17,"padding_width":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_count":4,"prefix":"CASE-","start_number":17,"padding_width":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/bates-numbering", 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
{
"page_count": 4,
"prefix": "CASE-",
"start_number": 17,
"padding_width": 5
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.bates_numbering",
"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_pages | 100000 |
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. |