Pagine PDF N-up
Il calcolatore di layout PDF N-up trasforma il formato di una pagina originale e un numero supportato di pagine per foglio in un piano di posizionamento completo.
Esegui gratis nel browser
Restituisce le dimensioni della griglia, la larghezza e l’altezza necessarie del foglio di uscita e la posizione esatta di ogni cella. Usi la stessa unità per larghezza e altezza e il risultato manterrà tale unità. Il calcolo è deterministico e non modifica, carica né renderizza il documento.
Parta dalle dimensioni della pagina PDF originale
Un layout N-up parte dal formato del supporto di una pagina PDF originale. Inserisca tale formato come page_width e page_height, usando la stessa unità per entrambi. I software PDF indicano spesso le dimensioni in punti, dove settantadue punti equivalgono a un pollice, ma il calcolatore non impone un’unità specifica. Millimetri, pollici o un’altra misura coerente funzionano ugualmente, perché ogni risultato deriva da una moltiplicazione e non da una conversione. Lo strumento presume che tutte le pagine sorgente abbiano le dimensioni indicate. Se un documento combina pagine verticali, orizzontali o personalizzate, calcoli un piano separato per ogni gruppo oppure normalizzi prima le pagine. Entrambe le dimensioni devono essere numeri finiti maggiori di zero; i valori assenti, negativi, infiniti, non numerici o nulli vengono rifiutati. Questa convalida evita di creare una specifica plausibile su una geometria inutilizzabile. La capacità riceve la geometria, non i byte del PDF: estragga prima larghezza e altezza del riquadro multimediale.
Scelga una griglia supportata di pagine per foglio
Imposti n su 2, 4, 6 o 9. Ogni valore corrisponde a una griglia prevedibile: due pagine usano due colonne e una riga; quattro pagine, due colonne e due righe; sei pagine, tre colonne e due righe; nove pagine, tre colonne e tre righe. La corrispondenza esplicita evita disposizioni ambigue e mantiene stabili i lavori ripetuti. La larghezza del foglio di uscita equivale alla larghezza originale moltiplicata per le colonne, mentre l’altezza equivale all’altezza originale moltiplicata per le righe. Il layout conserva ogni pagina a grandezza naturale, senza ridimensionamento, rotazione, margini, spaziature, abbondanze o indicatori di taglio. Queste scelte possono essere applicate in seguito con uno strumento di imposizione o rendering. I valori esterni all’insieme supportato vengono rifiutati, anziché arrotondati o forzati in una griglia parziale. Gli errori di configurazione risultano così subito visibili, soprattutto quando n proviene da una preferenza, un modello salvato o un’opzione della riga di comando.
Usi il piano di posizionamento per creare ogni foglio
L’array placements descrive le celle per riga con page_index, row e column a base zero. La prima pagina occupa la cella in alto a sinistra; le successive avanzano lungo la riga e una nuova riga inizia dopo l’ultima colonna. Ogni posizione include le coordinate x e y, oltre a larghezza e altezza invariate della cella. Le coordinate adottano l’origine in alto a sinistra: x aumenta verso destra e y verso il basso. Se la Sua libreria PDF usa l’origine in basso a sinistra, converta y durante il rendering sottraendo y e l’altezza della cella da sheet_height. Per ogni foglio, prenda le n pagine successive e applichi le stesse posizioni in sequenza. L’ultimo foglio può contenere meno pagine; ignori le posizioni inutilizzate, salvo che il flusso richieda un riempimento. Il risultato può guidare la creazione del PDF, le anteprime, i controlli di imposizione o le schede di lavorazione senza ripetere i calcoli.
Casi d'uso
Preparare un lavoro di imposizione
Crei il foglio di destinazione e collochi ogni pagina con coordinate deterministiche prima di generare il PDF finale.
Stimare le dimensioni del foglio
Calcoli l’area a grandezza naturale per un layout N-up supportato senza aprire né modificare il documento sorgente.
Convalidare le impostazioni di stampa
Rifiuti subito quantità non supportate e confronti la griglia prevista con i vincoli di stampa o finitura.
Domande frequenti
Quanto costa?
Ogni richiesta API costa $0.002. Il calcolo può essere eseguito anche nel browser.
Quali valori N-up sono supportati?
Sono supportati 2, 4, 6 e 9. Qualsiasi altro valore restituisce un errore di input non valido.
Quale unità di misura devo usare?
Può usare qualsiasi unità, purché page_width e page_height adottino la stessa. Tutti i risultati la conservano.
Il calcolatore ridimensiona o ruota le pagine?
No. Mantiene larghezza e altezza indicate e calcola una griglia a grandezza naturale senza rotazione, scala, margini o spaziature.
Il mio PDF viene caricato o riscritto?
No. Calcola solo la geometria dalle dimensioni e da n; non legge, archivia, renderizza né modifica i byte del 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/n-up-layout \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"page_width":612,"page_height":792,"n":4}'const res = await fetch("https://api.kit.forhosting.com/pdf/n-up-layout", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"page_width": 612,
"page_height": 792,
"n": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/pdf/n-up-layout",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"page_width": 612,
"page_height": 792,
"n": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/pdf/n-up-layout", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"page_width":612,"page_height":792,"n":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"page_width":612,"page_height":792,"n":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/pdf/n-up-layout", 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_width": 612,
"page_height": 792,
"n": 4
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.n_up_layout",
"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. |