Elenchi le immagini di un PDF: pagina, indice e dimensioni
Trasformi i metadati annidati delle immagini PDF in un inventario chiaro, facile da consultare, filtrare e archiviare.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Fornisca i descrittori delle immagini per ogni pagina, compresi il numero di pagina e le dimensioni in pixel. Il risultato è un unico elenco piatto nell’ordine originale, con un indice che riparte da uno per ogni pagina. È utile dopo che un analizzatore PDF ha individuato le immagini incorporate e prima che un altro sistema debba verificarle, selezionarle, estrarle o inserirle in un report.
Prepari i descrittori delle immagini per pagina
Parta dai metadati prodotti dal Suo lettore PDF o dal flusso di estrazione. L’input è un array di pagine; ogni elemento contiene un numero di pagina positivo e un array di immagini. Per ciascuna immagine servono larghezza e altezza in pixel, espresse come numeri interi positivi. Mantenga l’ordine indicato dall’analizzatore, perché determina l’indice nel risultato. L’indice parte da uno in ogni pagina e consente di citare facilmente «pagina 4, immagine 2» in un report. Una pagina può non avere immagini: in tal caso fornisca un array vuoto. I numeri di pagina non devono essere consecutivi, quindi è possibile elaborare una selezione senza segnaposto; devono però essere univoci nella richiesta. Questa struttura esplicita impedisce che l’assenza di un’etichetta associ un’immagine alla posizione sbagliata.
Legga correttamente il risultato piatto
La risposta contiene un array con un record per ogni descrittore trovato nelle pagine fornite. Ogni record presenta quattro campi: pagina, indice, larghezza e altezza. La pagina viene copiata dall’elemento contenitore; l’indice deriva dalla posizione dell’immagine e riparte da uno nella pagina successiva. Larghezza e altezza vengono validate e copiate senza ridimensionamenti, arrotondamenti, rotazioni o conversioni. I record conservano sia l’ordine delle pagine ricevute sia quello delle immagini al loro interno. Questo percorso stabile rende deterministiche le esecuzioni e permette di confrontare inventari senza riordinarli. La capacità non apre il PDF né estrae dati binari: normalizza descrittori già ricavati da un analizzatore. Dimensioni uguali restano record distinti, perché possono rappresentare risorse o posizioni diverse.
Convalidi e utilizzi l’inventario
Usi l’inventario piatto quando i metadati annidati per pagina sono scomodi. Un controllo qualità può segnalare immagini con risoluzione insufficiente, un’attività di estrazione può scegliere solo elementi più grandi di una miniatura e un report può contare le immagini per pagina senza percorrere più volte gli array. Conservi insieme pagina e indice come posizione leggibile, ricordando che l’indice indica l’ordine fornito e non l’identificatore interno dell’oggetto PDF. La validazione è rigorosa: la richiesta non riesce se le pagine mancano o sono vuote, se un numero di pagina è invalido o duplicato, se immagini non è un array oppure se una dimensione non è un intero positivo. Un errore è preferibile a un inventario parziale che sembra completo. L’operazione è deterministica, non usa la rete e non conserva descrittori. Può eseguirla nel browser o chiamare l’API a $0.002 per richiesta.
Casi d'uso
Verificare la risoluzione delle immagini
Appiattisca i metadati dell’analizzatore e individui le immagini che non rispettano i requisiti dimensionali.
Pianificare un’estrazione selettiva
Crei un manifesto pagina-indice per selezionare in seguito le immagini grandi e ignorare i piccoli elementi decorativi.
Creare un report sulle risorse PDF
Trasformi i risultati annidati in righe semplici per un foglio di calcolo, un database o un registro.
Domande frequenti
Questa capacità legge o carica il PDF?
No. Riceve i descrittori per pagina già prodotti dal Suo analizzatore PDF.
Come vengono assegnati gli indici delle immagini?
Partono da uno, seguono l’ordine fornito e ripartono da uno in ogni pagina.
Una pagina può non contenere immagini?
Sì. Fornisca la pagina con un array di immagini vuoto; non aggiungerà record al risultato.
I numeri di pagina devono essere consecutivi?
No. Può inviare solo le pagine scelte, ma ogni numero deve essere un intero positivo univoco.
Quanto costa una richiesta API?
Il prezzo dell’API è $0.002 per richiesta. L’esecutore nel browser è disponibile per l’uso interattivo.
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/extract-images-list \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pages":[{"page":1,"images":[{"width":1200,"height":800},{"width":64,"height":64}]},{"page":2,"images":[{"width":1920,"height":1080}]}]}'const res = await fetch("https://api.kit.forhosting.com/pdf/extract-images-list", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pages": [
{
"page": 1,
"images": [
{
"width": 1200,
"height": 800
},
{
"width": 64,
"height": 64
}
]
},
{
"page": 2,
"images": [
{
"width": 1920,
"height": 1080
}
]
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/extract-images-list",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pages": [
{
"page": 1,
"images": [
{
"width": 1200,
"height": 800
},
{
"width": 64,
"height": 64
}
]
},
{
"page": 2,
"images": [
{
"width": 1920,
"height": 1080
}
]
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/extract-images-list", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pages":[{"page":1,"images":[{"width":1200,"height":800},{"width":64,"height":64}]},{"page":2,"images":[{"width":1920,"height":1080}]}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pages":[{"page":1,"images":[{"width":1200,"height":800},{"width":64,"height":64}]},{"page":2,"images":[{"width":1920,"height":1080}]}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/extract-images-list", 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": [
{
"page": 1,
"images": [
{
"width": 1200,
"height": 800
},
{
"width": 64,
"height": 64
}
]
},
{
"page": 2,
"images": [
{
"width": 1920,
"height": 1080
}
]
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.extract_images_list",
"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 | 10000 |
max_images_per_page | 10000 |
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. |