Rimuova le pagine PDF vuote e conti quelle rimanenti
Rimuova le pagine PDF vuote da un flusso documentale senza indovinare quali numeri eliminare.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Fornisca un record per ogni pagina, nell’ordine corretto, e indichi se contiene testo o immagini. La capacità considera vuota una pagina soltanto quando entrambi i segnali sono assenti, restituisce i numeri partendo da uno e calcola quante pagine restano. È utile dopo scansione, composizione o esportazione, quando un’altra fase ha già rilevato i contenuti.
Descriva ogni pagina nell’ordine originale
Parta dall’inventario creato dal Suo analizzatore, scanner o flusso documentale. Invii un array pages con un record per pagina, conservando l’ordine esatto. Ogni record richiede due booleani: has_text segnala il testo e has_images le immagini. Usi true o false, non stringhe o numeri. La posizione stabilisce il numero: il primo record rappresenta la pagina 1. Includa ogni pagina per evitare di spostare la numerazione successiva.
Comprenda cosa viene definito vuoto
Una pagina è vuota solo quando has_text e has_images sono false. Testo o immagine bastano per conservarla. Questa regola prudente protegge scansioni, firme, diagrammi e copertine. La capacità non valuta spazio visivo, OCR, annotazioni o tracciati; gli indicatori forniti sono decisivi. La risposta usa numeri da uno e riporta i conteggi originale, rimosso e rimanente. Se tutte sono vuote, ne restano zero; se nessuna lo è, l’elenco è vuoto.
Applichi il risultato in sicurezza
Usi blank_pages come piano di eliminazione nella libreria che gestisce il PDF effettivo. Poiché molti strumenti cambiano gli indici dopo ogni rimozione, elimini in ordine decrescente oppure passi l’intera selezione originale in una volta. Controlli remaining_page_count se il Suo sistema deve impedire documenti senza pagine. I conteggi agevolano anche anteprime e verifiche. Il calcolo è deterministico, senza rete né OCR, e costa $0.002 per chiamata API.
Casi d'uso
Pulisca lotti scansionati
Trasformi gli indicatori dello scanner in un elenco di eliminazione prima di archiviare ogni PDF.
Rimuova separatori di esportazione
Trovi pagine vuote inserite unendo report e calcoli il totale finale prima della consegna.
Visualizzi la pulizia in anteprima
Mostri quali pagine saranno rimosse e quante resteranno prima di modificare il file.
Domande frequenti
Quanto costa?
Una chiamata API costa $0.002. Lo stesso calcolo deterministico è disponibile anche nel browser.
Quando una pagina è considerata vuota?
Solo quando has_text e has_images sono false. Se uno è true, la pagina viene conservata.
I numeri partono da zero?
No. Partono da uno, quindi il primo record corrisponde alla pagina 1.
La capacità modifica o restituisce un PDF?
No. Restituisce un piano e i conteggi; la Sua libreria PDF applica le rimozioni.
Cosa accade se tutte le pagine sono vuote?
Vengono elencate tutte e remaining_page_count è zero. La Sua applicazione decide se accettarlo.
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/remove-blank-pages \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/remove-blank-pages", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/remove-blank-pages",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pages": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/remove-blank-pages", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pages":[{"has_text":true,"has_images":false},{"has_text":false,"has_images":false},{"has_text":false,"has_images":true}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/remove-blank-pages", 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": [
{
"has_text": true,
"has_images": false
},
{
"has_text": false,
"has_images": false
},
{
"has_text": false,
"has_images": true
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.remove_blank_pages",
"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. |