Al presentar pdftk-java, expliqué cómo uso el pdftk-java
Comando para realizar modificaciones rápidas, a menudo con secuencias de comandos, en archivos PDF.
Sin embargo, una de las cosas pdftk-java
es más útil cuando descargué un archivo PDF grande, a veces con cientos de páginas de texto de referencia, y descubrí que el creador del PDF no incluía una tabla de contenido. No me refiero a un índice impreso en la portada del libro; Me refiero a la tabla de contenido que se encuentra al costado de su lector de PDF, que el formato PDF llama oficialmente "marcadores".
Sin marcadores, encontrar el capítulo al que necesita hacer referencia es engorroso e implica mucho desplazamiento o búsquedas frustrantes de palabras que cree recordar haber visto en el área general.
Otra molestia menor de muchos archivos PDF es la falta de metadatos, como un título y un autor adecuados en las propiedades del PDF. Si alguna vez abrió un PDF y vio algo genérico como "Microsoft Word - 04_Classics_Revisited.docx" en la barra de título de la ventana, conoce este problema.
Ya no tengo que lidiar con este problema porque tengo pdftk-java
, que me permite crear mis propios marcadores.
Instalar pdftk-java en Linux
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Como sugiere su nombre, pdftk-java está escrito en Java, por lo que funciona en todos los principales sistemas operativos siempre que tenga Java instalado.
Los usuarios de Linux y macOS pueden instalar Linux desde AdoptOpenJDK.net.
Los usuarios de Windows pueden instalar la compilación de OpenJDK para Windows de Red Hat.
Para instalar pdftk-java en Linux:
- Descargue la versión pdftk-all.jar de su repositorio de Gitlab y guárdela en
~/.local/bin/
o alguna otra ubicación en su camino. - Abrir
~/.bashrc
en su editor de texto favorito y agregue esta línea:alias pdftk='java -jar $HOME/.local/bin/pdftk-all.jar'
- Cargue su nueva configuración de Bash:
source ~/.bashrc
Volcado de datos
El primer paso para corregir los metadatos de un PDF es extraer el archivo de datos que contiene actualmente el PDF.
Probablemente no haya mucho en el archivo de datos (¡ese es el problema!), pero le brinda un buen punto de partida.
$ pdftk mybigfile.pdf \
data_dump \
output bookmarks.txt
Esto produce un archivo llamado bookmarks.txt
y contiene todos los metadatos asignados al archivo de entrada (en este ejemplo, mybigfile.pdf
), además de mucha hinchazón.
Edición de metadatos
Para editar los metadatos del PDF, abra su bookmarks.txt
archivo en su editor de texto favorito, como Atom o Gedit.
El formato es en su mayoría intuitivo, y los datos contenidos en él se descuidan como era de esperar:
InfoBegin
InfoKey: Creator
InfoValue: Word
InfoBegin
InfoKey: ModDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: CreationDate
InfoValue: D:20151221203353Z00'00'
InfoBegin
InfoKey: Producer
InfoValue: Mac OS X 10.10.4 Quartz PDFContext
InfoBegin
InfoKey: Title
InfoValue: Microsoft Word - 04_UA_Classics_Revisited.docx
PdfID0: f049e63eaf3b4061ddad16b455ca780f
PdfID1: f049e63eaf3b4061ddad16b455ca780f
NumberOfPages: 42
PageMediaBegin
PageMediaNumber: 1
PageMediaRotation: 0
PageMediaRect: 0 0 612 792
PageMediaDimensions: 612 792
[...]
Puede editar los campos de InfoValue para que contengan datos que tengan sentido para el PDF que está reparando. Por ejemplo, en lugar de establecer la clave del creador en el valor Word, puede establecerla en el nombre del autor real o la editorial que publica el archivo PDF. En lugar de darle al documento la cadena de exportación predeterminada de la aplicación que lo produjo, asígnele el título real del libro.
También hay algunos trabajos de limpieza que puede hacer. Todo debajo del NumberOfPages
línea tampoco es innecesaria, así que elimine esas líneas.
Agregar marcadores
Los marcadores de PDF siguen este formato:
BookmarkBegin
BookmarkTitle: My first bookmark
BookmarkLevel: 1
BookmarkPageNumber: 2
BookmarkBegin
indica que está creando un marcador nuevo.BookmarkTitle
contiene el texto que es visible en el visor de PDF.BookmarkLevel
establece el nivel de herencia de este marcador. Si establece un BookmarkLevel en 2, aparece dentro de un triángulo desplegable del marcador anterior. Si configura BookmarkLevel en 3, aparece dentro de un triángulo desplegable del marcador anterior, siempre que el marcador anterior esté configurado en 2. Esta configuración le brinda la capacidad de marcar, por ejemplo, un título de capítulo y encabezados de sección. dentro de ese capítulo.BookmarkPageNumber
determina a qué página PDF se dirige al usuario cuando hace clic en el marcador.
Cree marcadores para cada sección del libro que considere importante y luego guarde el archivo.
Actualizando información de marcadores
Ahora que ha configurado sus metadatos y marcadores, puede aplicarlos a su PDF; en realidad, los aplicará a un nuevo PDF que contenga el mismo contenido que el PDF antiguo:
$ pdftk mybigfile.pdf \
update_info bookmarks.txt \
output mynewfile.pdf
Esto produce un archivo llamado mynewfile.pdf
, que contiene todos sus metadatos y marcadores.
Publicación profesional
La diferencia entre un PDF con metadatos genéricos y sin marcadores y un PDF con valores de metadatos personalizados y marcadores útiles probablemente no hará ni deshará una venta.
Sin embargo, prestar atención a los pequeños detalles, como los metadatos, muestra que valora la garantía de calidad, y proporcionar marcadores a sus usuarios es útil y aprovecha la tecnología disponible.
Usa pdftk-java
para facilitar este proceso, y sus usuarios se lo agradecerán.