Tengo un documento PDF que creé a través de medios que no son de Acrobat (imprimiendo en PDF, luego combinando un montón de archivos PDF), pero me gustaría cambiar manualmente los números de página (es decir, las primeras páginas son simplemente páginas de título, la página que está etiquetada como "página 1" es realmente la séptima hoja del pdf). ¿Cuál es la forma más simple (e idealmente gratuita) de hacer esto?
Para ser claros, no estoy tratando de cambiar los números en las páginas en sí, sino los números de página en los "metadatos" que almacena el pdf (las páginas en sí ya están numeradas correctamente; solo quiero "ir a la página 1" para ir a la página etiquetada 1, que podría ser la hoja 7).
Por lo que vale, estoy en Windows, aunque también tengo acceso a Mac.
Respuestas:
Lo que quiere se llama etiquetas de página y se puede agregar fácilmente directamente en el código fuente del PDF. Cambiar el nombre de la extensión del archivo de
pdf
atxt
y abra el archivo en un editor de texto (esto puede ser lento, dependiendo del tamaño del archivo, sea paciente). La información sobre las etiquetas de página se almacena en un nodo llamado catálogo de documentos que se parece a esto:Puede contener cosas más confusas, pero esta es la estructura básica. Solo hay un catálogo, por lo que en un archivo grande puede buscar el nodo que contiene
/Catalog
. Ahora puede hacer los cambios deseados insertando la/PageLabels
entrada:Hay 3 líneas que comienzan con números, llamados índices de página . La página 1 tiene el índice
0
, la página 2 el índice,1
etc. Siempre describen los rangos, por lo que la línea con se1 <<...>>
aplica a todas las páginas desde el índice 1 al 5 y la línea con se6 <<...>>
aplica a todas las páginas desde 6 hasta la última página.0 <<...>>
Siempre se debe definir una etiqueta para .Puede encontrar más información sobre etiquetas de página y código fuente PDF en el estándar PDF o en una wiki sobre estándares PDF.
fuente
/St 8
o/St 2
, establece un punto de inicio para la etiqueta mostrada; pero elija cualquier número en lugar de 8 (o 2), que debe ser> = 1. Por ejemplo,1 << /S /r /St 12 >>
numerará las páginas de (en realidad) 2-6 como (se muestra) xii-xvii , porque '12' corresponde a 'xii'.Si te entiendo correctamente, así es como debería funcionar:
Sin embargo, me parece recordar, que este hecho no funcione correctamente o completamente última vez que probé este (aproximadamente 2 años).
ACTUALIZACIÓN: Mi memoria no me estaba fallando. Ahora intenté nuevamente y presenté un informe de error para Ghostscript ( error 691889 ) con respecto a esto. Siga el enlace al informe de error para ver los detalles.
fuente
CÓMO EDITAR Números de página PDF usando Qpdf
Resumen:
qpdf -qdf foo.pdf foo.qdf
editar foo.qdf
fix-qdf foo.qdf >bar.qdf
qpdf bar.qdf bar.pdf
Pasos detallados
Paso 1.
Convierta el documento al formato QDF fácilmente editable. Ejecute qpdf desde la línea de comando así:
Paso 2.
Edite el documento QDF usando un editor de texto como notepad ++, emacs o gedit. Busque la palabra
/Catalog
y observe los << paréntesis angulares >> que está dentro. Cerca, encontrará el actual/PageLabels
( si lo hay ).Agregaremos cada sección que debe estar numerada de manera diferente a
/PageLabels
. El formato esstart-page
<<style
>>. Tenga en cuenta que el espacio en blanco no importa y que la primera página del documento sí lo es0
. A menos que se especifique lo contrario, una nueva sección siempre comienza numerando páginas desde 1.Ejemplos
Aquí hay un ejemplo completo del aspecto de PageLabels, con comentarios agregados:
Si el archivo no tiene PageLabels, agréguelos después
/Type /Catalog
. Por ejemplo, uno podría cambiar,dentro,
OPCIONAL: A PARTIR DE UN NÚMERO DIFERENTE CON
/St
Cada sección reinicia la numeración en 1 a menos que se indique lo contrario usando
/St
. Observe cómo en el ejemplo anterior, la cuarta página comienza en 15.OPCIONAL: UTILIZAR UN ESTILO DIFERENTE CON
/S
El
/S
operador toma un argumento que le permite elegir el estilo de numeración,Si se omite el
/S
operador, esa sección de páginas no tendrá numeración. Por ejemplo:OPCIONAL: AGREGAR UN PREFIJO A CADA PÁGINA CON
/P
Puede mostrar cualquier cadena de texto antes del número de página especificando una palabra entre paréntesis después de
/P
:Si especifica un prefijo sin estilo (
/S
), obtendrá páginas que solo tienen la palabra sin ningún número. Esto puede ser útil, por ejemplo, si desea que una portada simplemente tenga la etiqueta "Carátula".Paso 3.
Ejecute
fix-qdf
para hacer que sus ediciones sean válidas en PDF y coloque la salida en bar.qdf.Etapa 4.
Abra bar.qdf en su programa de visualización de PDF y verifique que esté numerado correctamente.
Paso 5
Convierta el archivo QDF nuevamente a un PDF normal, así:
Ta da. Ya terminaste Ahora tiene un documento con números de página correctamente etiquetados en bar.pdf.
fuente
Hay un pequeño script de Python que puede hacer el trabajo: https://github.com/lovasoa/pagelabels-py
En su caso, llame a algo como:
fuente
jPdf Tweak es una utilidad gráfica de código abierto que te permite editar etiquetas de página en archivos PDF. La página de documentación proporciona instrucciones paso a paso.
fuente
Para eliminar los viejos, probablemente la forma más fácil de plataforma cruzada es simplemente recortar los viejos. Podría hacerlo, por ejemplo, con BRISS.
Agregar las nuevas usando herramientas gratuitas es más complicado. Personalmente, probablemente lo haría con pdflatex, como en esta respuesta de StackExchange , aunque esa podría ser una solución bastante complicada a menos que tenga otros usos para pdflatex.
Creo que se puede hacer, sin embargo, con jPdfTweak en su lugar.
fuente
El método proporcionado por Dane H. funciona con Acrobat Reader (o, para ser precisos, la versión actual de Adobe Reader). Un punto menor a tener en cuenta: el campo en la parte superior solo aceptará 8 caracteres, por lo que no puede ingresar algo como 'índice de asunto' si se ha utilizado dicha etiqueta. Pero en su lugar, puede usar el elemento de menú Ver> Navegación de página> Ir a ..., o el equivalente de la tecla.
Otro consejo: la especificación pdf siempre asigna números de página consecutivamente, por lo que en el caso de un documento producido escaneando pares de páginas, los dos conjuntos de números se salen del paso (a menos que numere laboriosamente cada página individualmente). Pero con poco esfuerzo puede configurar su documento para que se aplique la convención 'ir a la página n a las páginas 2n y 2n + 1'.
fuente
La respuesta de Danes es la mejor, los formatos cambiaron un poco ahora, esto podría ser útil:
fuente
Encontré que la edición directa del archivo (como descomprimido por pdftk) no funciona si ya hay '/ títulos' establecidos en la región '/ contornos'. La técnica de edición directa descrita en una publicación anterior se demuestra en Youtube: https://www.youtube.com/watch?v=zoH1Z_hSpak
Pero la función de 'actualización' de pdftk puede ser más intuitiva (y más confiable cuando ya existen '/ títulos' en la región '/ contornos' del archivo PDF) mediante la edición del archivo 'doc_data.txt' utilizado aquí: https: / /www.pdflabs.com/blog/export-and-import-pdf-bookmarks/
fuente
BeCyPDFMetaEdit http://www.becyhome.de/becypdfmetaedit/description_eng.htm
Puede agregar / eliminar / cambiar el esquema interno de números de página en la pestaña "páginas" de esta herramienta gratuita.
Y tenga cuidado, el visor de PDF xchange no muestra el esquema del número de página y foxitreader tiene un resultado correcto. No he probado el lector Acrobat.
fuente