Páginas PDF N-up
La calculadora de diseño de páginas PDF N-up convierte el tamaño de una página original y una cantidad admitida de páginas por hoja en un plan de colocación completo.
Ejecutar — gratis
Informa de las dimensiones de la cuadrícula, el ancho y la altura necesarios para la hoja de salida y la posición exacta de cada celda. Use la misma unidad para el ancho y la altura, y el resultado conservará esa unidad. El cálculo es determinista y no modifica, carga ni renderiza el documento.
Comience con las dimensiones de la página PDF original
Un diseño N-up parte del tamaño de soporte de una página PDF original. Indique ese tamaño mediante page_width y page_height y use la misma unidad en ambos valores. El software PDF suele expresar las dimensiones en puntos, donde setenta y dos puntos equivalen a una pulgada, pero la calculadora no impone una unidad concreta. Los milímetros, las pulgadas u otra medida coherente funcionan igual porque cada resultado se obtiene por multiplicación, no por conversión. La herramienta presupone que todas las páginas de origen tienen las dimensiones indicadas. Si el documento combina páginas verticales, apaisadas o de tamaño personalizado, calcule un plan separado para cada grupo o normalícelas antes. Ambas dimensiones deben ser números finitos mayores que cero; se rechazan los valores ausentes, negativos, infinitos, no numéricos o iguales a cero. Esta validación evita construir una especificación aparentemente válida sobre una geometría inutilizable. La capacidad utiliza la geometría de página, no los bytes del PDF; extraiga primero el ancho y la altura del cuadro de medios.
Elija una cuadrícula de páginas por hoja admitida
Defina n como 2, 4, 6 o 9. Cada valor se corresponde con una cuadrícula predecible: dos páginas usan dos columnas y una fila; cuatro, dos columnas y dos filas; seis, tres columnas y dos filas; y nueve, tres columnas y tres filas. Esta asignación explícita evita disposiciones ambiguas y mantiene estables los trabajos repetidos. El ancho de la hoja de salida es el ancho original multiplicado por el número de columnas, y la altura es la altura original multiplicada por el número de filas. El diseño conserva cada página a tamaño completo, sin escala, rotación, márgenes, medianiles, sangrado ni marcas de corte. Esas decisiones pueden aplicarse después con una herramienta de imposición o renderizado. Los valores no admitidos se rechazan en lugar de redondearse o forzarse en una cuadrícula incompleta. Así, los errores de configuración aparecen pronto, sobre todo cuando n procede de una preferencia, una plantilla guardada o una opción de línea de comandos.
Use el plan de colocación para construir cada hoja
El array placements describe las celdas por filas mediante los valores page_index, row y column, todos con base cero. La primera página se coloca en la celda superior izquierda; las siguientes avanzan por la fila y se abre otra tras la última columna. Cada posición incluye las coordenadas x e y, además del ancho y la altura de celda sin cambios. Las coordenadas siguen una convención con origen superior izquierdo: x aumenta hacia la derecha e y hacia abajo. Si su biblioteca PDF usa un origen inferior izquierdo, convierta y durante el renderizado restando y más la altura de celda a sheet_height. Para cada hoja, tome las siguientes n páginas y aplique las mismas posiciones en orden. La última hoja puede contener menos páginas; ignore las posiciones sobrantes salvo que su flujo exija relleno. El resultado puede dirigir la creación del PDF, vistas previas, controles de imposición o fichas de trabajo sin repetir la aritmética.
Qué puede hacer con ella
Preparar un trabajo de imposición
Cree la hoja de destino y coloque cada página con coordenadas deterministas antes de escribir el PDF de salida.
Estimar las dimensiones de hoja
Calcule el lienzo a tamaño completo para un diseño N-up admitido sin abrir ni modificar el documento original.
Validar la configuración de impresión
Rechace pronto las cantidades no admitidas y compare la cuadrícula prevista con las restricciones de impresión o acabado.
Preguntas frecuentes
¿Cuánto cuesta?
Cada solicitud a la API cuesta $0.002. El cálculo también puede ejecutarse en el navegador.
¿Qué valores N-up se admiten?
Se admiten 2, 4, 6 y 9. Cualquier otro valor devuelve un error de entrada no válida.
¿Qué unidad de medida debo usar?
Use cualquier unidad, siempre que page_width y page_height compartan la misma. Los resultados conservan esa unidad.
¿La calculadora redimensiona o rota las páginas?
No. Conserva el ancho y la altura indicados y calcula una cuadrícula a tamaño completo sin rotación, escala, márgenes ni medianiles.
¿Carga o reescribe mi PDF?
No. Solo calcula la geometría a partir de las dimensiones y de n; no lee, almacena, renderiza ni modifica los bytes del PDF.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"page_width": 612,
"page_height": 792,
"n": 4
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "pdf.n_up_layout",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_mb | 25 |
max_pages | 200 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |