ForHosting KIT · Documentos y PDF

Añada un marcador PDF y valide su página

En un PDF de 32 páginas donde Cover, Methods y Appendix apuntan a las páginas 1, 8 y 27, un marcador Results para la página 18 queda tercero. Indique páginas, marcadores actuales, título y página, y obtenga el esquema actualizado. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Cantidad de páginas
32
Título
Results
Página
18
Obtiene
Cantidad
4
Índice insertado
2

Añada una entrada de navegación fiable al esquema de un PDF sin tener que adivinar si su destino existe ni dónde corresponde colocarla. Indique el número de páginas del documento, sus marcadores actuales de nivel superior, un título y una página de destino numerada desde uno. La capacidad valida el nuevo destino frente al intervalo real, comprueba el esquema existente e inserta el marcador por orden de página. Devuelve un esquema estructurado nuevo y el índice de inserción, listo para serializarse en una etapa posterior de escritura del PDF o verificarse en un flujo documental automatizado.

Describa el PDF y el marcador que desea añadir

Comience con el número total de páginas del PDF, pues este valor define todos los destinos válidos. A continuación, proporcione el esquema actual de nivel superior como una matriz de registros con título y página, en el orden utilizado por el documento. La numeración comienza en uno: la página 1 representa la primera página visible del PDF, no un desplazamiento interno igual a cero.

Por último, indique el título y la página de destino del marcador que desea añadir. Los espacios exteriores de los títulos se eliminan para que los introducidos accidentalmente desde un formulario o una hoja de cálculo no formen parte de la etiqueta visible. La capacidad trabaja con la representación del esquema; no decodifica ni reescribe los bytes binarios del PDF.

Esta separación permite usarla después de que un analizador lea el archivo o antes de que una biblioteca escriba el esquema actualizado. Se admite un esquema vacío, por lo que la misma solicitud sirve para crear el primer marcador o ampliar una tabla de contenido existente.

Valide los límites y conserve un orden predecible

Un marcador solo resulta útil si su destino puede existir. La página cero, los números negativos, las fracciones y los valores posteriores a la última página generan un error de entrada no válida que indica el intervalo aceptado. Los marcadores existentes se comprueban con la misma regla para evitar que una edición aparentemente correcta mantenga destinos rotos.

Sus títulos también deben contener texto visible. El esquema recibido debe estar ordenado de forma ascendente por página; aceptar una lista desordenada volvería ambigua la posición correcta y podría reorganizar silenciosamente la navegación prevista por el autor. Tras validar, el algoritmo avanza hasta el primer marcador de una página posterior e inserta allí el nuevo.

Si ya hay varios en la página solicitada, la nueva entrada se coloca después y conserva el orden relativo anterior. No se modifica la matriz de entrada ni sus registros.

Aplique el esquema devuelto a su flujo documental

Los datos devueltos son independientes de cualquier biblioteca: una aplicación puede asociar cada título y página numerada desde uno con los objetos de destino exigidos por su escritor de PDF. Esta capacidad no altera los bytes del archivo, no deduce encabezados del texto, no crea elementos secundarios anidados ni repara un esquema desordenado. Esas tareas requieren análisis, decisiones jerárquicas o serialización fuera de esta operación.

Separar la inserción facilita el diagnóstico: los errores de intervalo se detienen aquí, antes de producir un documento con navegación rota. Conserve siempre el número de páginas obtenido de la misma versión que finalmente escribirá.

Añadir un capítulo recién escrito

Inserte una etiqueta de capítulo en su página inicial verificada antes de que el editor documental escriba el PDF revisado.

Automatizar la navegación de informes

Añada un marcador para un apéndice o resumen generado y rechace las plantillas que calculen un destino imposible.

Revisar cambios del esquema

Muestre el índice de inserción y el esquema actualizado en una interfaz de aprobación antes de cambiar el archivo original.

¿Esta capacidad modifica el propio archivo PDF?

No. Devuelve una representación actualizada del esquema para que la aplique un escritor de PDF o un flujo documental.

¿Dónde se coloca el marcador si otro utiliza la misma página?

Se inserta después de todos los marcadores existentes en esa página y conserva el orden recibido.

¿Puede añadir marcadores anidados?

No. Esta operación específica añade un marcador de nivel superior a un esquema ordenado por página.

¿Puedo añadir el primer marcador a un PDF que no tiene ninguno?

Sí. Un esquema vacío es válido, así que la misma operación sirve para crear el primer marcador o para ampliar un índice largo, sin cambiar de modo.

¿Qué pasa si mis marcadores actuales no están en orden de página?

Se rechazan. Los marcadores existentes deben ir de menor a mayor página; aceptar una lista desordenada dejaría ambigua la posición correcta y podría reordenar sin aviso la navegación que preparó el autor.

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.

POSThttps://api.kit.forhosting.com/pdf/bookmarks-add

¿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.

curl -X POST https://api.kit.forhosting.com/pdf/bookmarks-add \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page_count":24,"outline":[{"title":"Introduction","page":1},{"title":"Results","page":12}],"title":"Methods","page":7}'
{
  "page_count": 24,
  "outline": [
    {
      "title": "Introduction",
      "page": 1
    },
    {
      "title": "Results",
      "page": 12
    }
  ],
  "title": "Methods",
  "page": 7
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "pdf.bookmarks_add",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_mb25
max_pages200
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Valide los límites y conserve un orden predecible

Por ello, la página solicitada debe ser un entero entre 1 y page_count, ambos incluidos. Sin red, fechas, identificadores aleatorios ni comparaciones dependientes de la configuración regional, la misma entrada JSON produce siempre la misma salida.

Aplique el esquema devuelto a su flujo documental

La respuesta incluye page_count, el número final de marcadores, un inserted_index basado en cero y el esquema actualizado completo. Utilice inserted_index si una interfaz de revisión debe resaltar la fila recién creada, o ignórelo y entregue el esquema directamente a la siguiente etapa. La herramienta del navegador permite que un editor compruebe rápidamente un destino antes de publicar, mientras que una llamada API por $0.002 encaja en procesos repetibles para avisos legales, apéndices, notas de versión o capítulos generados.

¿Cómo se numeran las páginas?

La numeración comienza en uno: 1 es la primera página y page_count es el último destino válido.

¿Qué ocurre si la página de destino está fuera del intervalo?

La solicitud falla con invalid_input y un mensaje que indica el intervalo válido.

¿Cuánto cuesta una solicitud API?

Una solicitud API correcta cuesta $0.002; la misma operación determinista es gratuita en el navegador.

Ver la documentación completa del KIT →