PDF-Seiten zählen
Erhalten Sie die Seitenzahl und die Größe der ersten Seite aus den Maßen, die Ihr PDF-Leser bereits ermittelt hat: drei Seiten, die erste mit 612 × 792 Punkt. Jede Seite wird vorher geprüft, damit eine fehlerhafte Liste nie als gültige Zählung durchgeht. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Ermitteln Sie eine zuverlässige Seitenzahl und die Abmessungen der ersten Seite anhand von Metadaten, die bereits von einem PDF-Leser erzeugt wurden. Übergeben Sie für jede Seite einen geordneten Deskriptor mit Breite und Höhe in PDF-Punkt. Die Funktion prüft sämtliche Deskriptoren, zählt die Einträge und gibt Breite sowie Höhe der ersten Seite mit einer eindeutigen Einheit zurück. Dies eignet sich, wenn ein Ablauf eine PDF-Datei bereits analysiert hat und vor dem Weiterleiten, Anzeigen, Prüfen oder Speichern eine kompakte, vorhersehbare Zusammenfassung benötigt.
Bereiten Sie die Seitendeskriptoren vor
Übergeben Sie ein pages-Array in derselben Reihenfolge wie die Seiten der PDF-Datei. Jeder Eintrag muss ein Objekt mit den Feldern width und height sein; beide Werte werden in PDF-Punkt angegeben. Ein Punkt entspricht einem Zweiundsiebzigstel Zoll und ist die übliche Koordinateneinheit von PDF-Bibliotheken.
Dezimalwerte sind zulässig, da Medien- und Beschnittrahmen nicht immer ganzzahlige Maße besitzen. Verwenden Sie die von Ihrem Parser gemeldete wirksame Seitengröße und behandeln Sie die Drehung im gesamten Array einheitlich. Die Funktion öffnet keine PDF-Bytes, leitet keine Maße ab und wählt nicht zwischen verschiedenen Seitenrahmen; sie fasst Ihre gelieferten Deskriptoren zusammen.
Nehmen Sie jede Seite auf, auch wenn spätere Seiten eine andere Ausrichtung oder Größe haben, denn die Anzahl der Deskriptoren wird als Seitenzahl ausgegeben. Der erste Array-Eintrag gilt als erste Seite. Ein leeres Array wird abgewiesen, weil daraus weder eine sinnvolle Gesamtzahl noch eine Größe der ersten Seite hervorgeht.
Lesen Sie Seitenzahl und Anfangsgröße
Die ursprüngliche numerische Genauigkeit bleibt erhalten: Die Funktion rundet nicht, ändert keine Größe, normalisiert keine Ausrichtung und rechnet weder in Zoll noch in Millimeter um. Es werden nur die Abmessungen der ersten Seite ausgegeben, selbst wenn das Dokument anschließend Letter, A4, Querformat, Hochformat oder benutzerdefinierte Größen kombiniert. Vor der Ausgabe werden trotzdem alle Deskriptoren geprüft.
Dadurch kann eine Zählung aus einer teilweise fehlerhaften Liste nicht glaubwürdig erscheinen und zugleich eine unvollständige Parser-Ausgabe verbergen. Die Ausführung speichert keinen Zustand und liefert für dieselbe Eingabe stets dasselbe Ergebnis.
Prüfen Sie Metadaten vor der PDF-Weiterleitung
Nutzen Sie die Zusammenfassung als kompakten Kontrollpunkt zwischen PDF-Analyse und nachfolgender Aktion. Ein Dokumentendienst kann Dateien oberhalb einer Seitengrenze abweisen, das Vorschaulayout anhand der ersten Ausrichtung wählen oder Seitenzahl und Maße an einen Indexdatensatz anhängen. Ein Druckablauf kann die Größe der ersten Seite mit einer erwarteten Vorlage vergleichen, bevor die Originaldatei weitergegeben wird.
Die Validierung ist bewusst streng: pages muss ein nicht leeres Array sein, jeder Eintrag muss ein Objekt sein, und width sowie height müssen jeweils endliche positive Zahlen sein. Null, negative Werte, fehlende Felder, Zeichenketten, unendliche Werte und NaN führen zu Fehlern, statt stillschweigend korrigiert zu werden. Anfragen sind außerdem auf einhunderttausend Deskriptoren begrenzt.
Es erfolgen weder Netzwerkzugriffe noch Uploads, PDF-Dekodierung oder dauerhafte Speicherung.
Anwendungsfälle
Seitengrenzen durchsetzen
Zählen Sie geprüfte Deskriptoren, bevor Sie eine PDF-Datei in einen Ablauf mit Mindest- oder Höchstseitenzahl aufnehmen.
Vorschauausrichtung auswählen
Vergleichen Sie die anfängliche Breite und Höhe, um einen Hochformat-, Querformat- oder quadratischen Rahmen zu wählen.
Kompakte PDF-Metadaten speichern
Ergänzen Sie einen Suchindex, Objektdatensatz oder ein Verarbeitungsprotokoll um Seitenzahl und Anfangsmaße.
Häufige Fragen
Liest diese Funktion die PDF-Datei selbst?
Nein. Sie übernimmt geordnete Seitendeskriptoren, die bereits von einem PDF-Leser oder Parser erzeugt wurden.
Welche Einheit gilt für width und height?
Geben Sie beide Maße in PDF-Punkt an. Die Antwort kennzeichnet die Einheit als pt.
Wird die Größe jeder Seite ausgegeben?
Nein. Sämtliche Deskriptoren werden geprüft und gezählt, aber nur die Maße des ersten Eintrags werden zurückgegeben.
Wofür brauche ich Seitenzahl und Größe der ersten Seite?
Für eine schnelle Prüfung vor dem nächsten Schritt: Dateien über einer Seitengrenze ablehnen, eine Vorschau im Hoch- oder Querformat nach der ersten Seite wählen oder prüfen, ob sie zum Papier einer Druckvorlage passt.
Warum wird meine Seitenliste abgelehnt?
Jede Seite braucht eine Breite und eine Höhe größer als null. Eine leere Liste, ein fehlendes Maß, eine Null oder ein negativer Wert stoppen die Zählung, damit eine halbe Liste nie eine Summe ergibt, die nur richtig aussieht.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"pages": [
{
"width": 612,
"height": 792
},
{
"width": 612,
"height": 792
},
{
"width": 792,
"height": 612
}
]
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.page_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_pages | 100000 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Lesen Sie Seitenzahl und Anfangsgröße
Die Antwort umfasst zwei Felder auf oberster Ebene. page_count bezeichnet die Anzahl der geprüften Einträge im pages-Array. first_page enthält width und height aus dem ersten Deskriptor sowie unit mit dem Wert pt, damit das empfangende System die Einheit nicht erraten muss. Allein die Array-Reihenfolge entscheidet daher, welche Abmessungen unter first_page erscheinen.
Prüfen Sie Metadaten vor der PDF-Weiterleitung
Für interaktive Prüfungen führen Sie die Funktion im Browser aus; automatisierte Abläufe nutzen die API für $0.002 je Anfrage und erhalten dieselbe deterministische JSON-Struktur.
Technische Fragen
Dürfen Seiten unterschiedliche Größen haben?
Ja. Spätere Deskriptoren dürfen abweichen; die Array-Länge bestimmt die Zahl und der erste Eintrag first_page.
Was geschieht bei einem leeren pages-Array?
Die Anfrage endet mit invalid_input, weil keine erste Seite beschrieben werden kann.