Contare le pagine di un PDF
Ottenga il totale delle pagine e il formato della prima dalle misure già rilevate dal suo lettore PDF: tre pagine, la prima di 612 × 792 punti. Ogni pagina viene controllata prima, così un elenco difettoso non passa mai per un conteggio valido. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Ottenga un conteggio affidabile delle pagine e le dimensioni della prima usando metadati già prodotti da un lettore PDF. Fornisca un descrittore ordinato per ogni pagina, con larghezza e altezza misurate in punti PDF. La capacità convalida tutti i descrittori, conta le voci e restituisce le dimensioni della prima pagina indicando esplicitamente l’unità. È utile quando un flusso ha già analizzato un PDF e richiede un riepilogo piccolo e prevedibile prima di smistare, visualizzare, controllare o archiviare il documento.
Prepari i descrittori delle pagine
Fornisca un array pages nello stesso ordine delle pagine del PDF. Ogni voce deve essere un oggetto con i campi width e height, entrambi espressi in punti PDF. Un punto equivale a un settantaduesimo di pollice ed è l’unità di coordinate convenzionale esposta dalle librerie PDF.
Sono ammesse misure decimali, poiché i riquadri di ritaglio e supporto non sempre usano numeri interi. Utilizzi il formato effettivo comunicato dal Suo parser e mantenga uniforme la gestione della rotazione nell’intero array. La capacità non apre i byte del PDF, non deduce le dimensioni e non sceglie tra riquadri di pagina alternativi; riepiloga i descrittori forniti.
Includa ogni pagina, anche quando quelle successive presentano orientamenti o formati diversi, perché il numero dei descrittori diventa il totale restituito. La prima voce viene considerata la prima pagina. Un array vuoto viene rifiutato perché non consente di indicare né un totale significativo né un formato iniziale.
Interpreti il conteggio e il formato iniziale
La precisione numerica originale viene conservata: la capacità non arrotonda, non ridimensiona, non normalizza l’orientamento e non converte in pollici o millimetri. Vengono restituite soltanto le dimensioni della prima pagina, anche se in seguito il documento combina formati Lettera, A4, orizzontali, verticali o personalizzati. Tutti i descrittori vengono comunque convalidati prima di produrre il risultato.
Ciò impedisce che un conteggio basato su un elenco parzialmente errato sembri attendibile nascondendo un output incompleto del parser. L’operazione non conserva stato e genera sempre lo stesso risultato per lo stesso input.
Convalidi i metadati prima di smistare il PDF
Utilizzi il riepilogo come controllo compatto tra l’analisi del PDF e un’azione successiva. Un servizio di acquisizione può rifiutare file oltre un limite di pagine, scegliere il layout dell’anteprima in base all’orientamento iniziale oppure aggiungere conteggio e dimensioni a un record di indicizzazione. Un flusso di stampa può confrontare il formato della prima pagina con un modello previsto prima di inoltrare il file originale.
La convalida è volutamente rigorosa: pages deve essere un array non vuoto, ogni voce deve essere un oggetto e ciascun width e height deve essere un numero finito positivo. Zero, valori negativi, campi mancanti, stringhe, infiniti e valori NaN provocano errori anziché misure corrette silenziosamente. Le richieste sono inoltre limitate a centomila descrittori.
Non avvengono richieste di rete, caricamenti, decodifica del PDF o archiviazione persistente.
Casi d'uso
Applichi limiti al numero di pagine
Conti i descrittori convalidati prima di accettare un PDF in un flusso con requisiti minimi o massimi di pagine.
Scelga l’orientamento dell’anteprima
Confronti larghezza e altezza iniziali per selezionare un contenitore verticale, orizzontale o quadrato.
Archivi metadati PDF compatti
Aggiunga il totale e le dimensioni iniziali a un indice di ricerca, un record di risorsa o un registro di elaborazione.
Domande frequenti
Questa capacità legge direttamente il file PDF?
No. Riceve descrittori ordinati già prodotti da un lettore o parser PDF.
Quale unità devono usare width e height?
Fornisca entrambe le misure in punti PDF. La risposta identifica l’unità come pt.
Viene indicato il formato di ogni pagina?
No. Tutti i descrittori vengono convalidati e contati, ma sono restituite solo le dimensioni della prima voce.
A cosa serve conoscere il totale e il formato della prima pagina?
A controllare il documento prima del passo successivo: scartare i file oltre un limite di pagine, scegliere un'anteprima verticale od orizzontale in base alla prima pagina o verificare che corrisponda alla carta prevista da un modello di stampa.
Perché il mio elenco di pagine viene rifiutato?
Ogni pagina deve avere larghezza e altezza maggiori di zero. Un elenco vuoto, una misura mancante, uno zero o un valore negativo fermano il conteggio, così un elenco incompleto non produce mai un totale solo apparentemente giusto.
Strumenti correlati
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/page-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pages":[{"width":612,"height":792},{"width":612,"height":792},{"width":792,"height":612}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/page-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pages": [
{
"width": 612,
"height": 792
},
{
"width": 612,
"height": 792
},
{
"width": 792,
"height": 612
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/page-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pages": [
{
"width": 612,
"height": 792
},
{
"width": 612,
"height": 792
},
{
"width": 792,
"height": 612
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/page-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pages":[{"width":612,"height":792},{"width":612,"height":792},{"width":792,"height":612}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pages":[{"width":612,"height":792},{"width":612,"height":792},{"width":792,"height":612}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/page-count", 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
{
"pages": [
{
"width": 612,
"height": 792
},
{
"width": 612,
"height": 792
},
{
"width": 792,
"height": 612
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.page_count",
"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. |
Note tecniche
Interpreti il conteggio e il formato iniziale
La risposta contiene due campi principali. page_count rappresenta il numero di voci convalidate nell’array pages. first_page include width e height copiati dal primo descrittore, oltre a unit impostato su pt, affinché il sistema ricevente non debba indovinare l’unità. L’ordine dell’array è quindi l’unica regola che stabilisce quali dimensioni appaiono in first_page.
Convalidi i metadati prima di smistare il PDF
Per controlli interattivi esegua l’operazione nel browser; nei flussi automatizzati, l’API costa $0.002 per richiesta e restituisce la stessa struttura JSON deterministica.
Domande tecniche
Le pagine possono avere formati od orientamenti diversi?
Sì. I descrittori successivi possono variare; la lunghezza dell’array stabilisce il totale e il primo determina first_page.
Cosa accade se l’array pages è vuoto?
La richiesta non riesce con un errore invalid_input perché non esiste una prima pagina da descrivere.