Estoy en plena diversión de la ANECA. Llevo dos semanas pidiendo certificados para justificar todas las actividades que he llevado a cabo en la universidad y añadiéndolas una a una a un formulario. Luego diremos que si endogamia en la academia y cosas, pero ¿qué esperamos si la manera de acreditarse como profesora pasa por haber guardado todos los papeles que te han dado en tu vida? ¿Quién sabe esto?
Lo que nunca imaginé es que este lío de papeles, firmas electrónicas y plataformas estatales con certificados de seguridad caducados me llevaría a aprender a manipular pdfs desde la terminal. Todo ello porque el sistema pide cosas como un documento que reúna la primera y la última página de los artículos publicados u otro con la portada, índice y resumen de la tesis doctoral. En mi entorno windowsero laboral hubiera usado el Acrobat Reader pero (¡oh, ironías!) parece ser que la versión que tenemos no es compatible del todo con la versión que tenemos de Windows.
Me puse por lo tanto a buscar alteranativas. Encontré un par de herramientas visuales como PDFsam, que lleva licencia GPL, y PDFtk y alguna otra herramienta para la terminal como Coherent PDF Command Line Tools pero al final me quedé con PDFjam, un conjunto de programillas para la terminal para manipular archivos pdf basado en el paquete de LaTeX pdfpages
. La razón no puede ser más pragmática: viene con las distribuciones de LaTeX por lo que no tenía que instalarlo.
Si habéis usado alguna vez pdfpages, recordaréis que permite incluir en un documento hojas así variadas de un pdf y girarlas, empequeñecerlas o hacer múltiples manipulaciones con ellas. El caso más sencillo, que sería incluir simplemente unas páginas de un pdf en otro documento, tendría una pinta así:
\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages={1,6-7,10}]{input}
\end{document}
Pues PDFjam nos permite hacer esto mismo desde la terminal:
pdfjam input.pdf '1,6-7,10' --outfile output.pdf
Extraer la primera página de unos documentos y unirlas en un único documento final se convierte de repente en una tontería:
pdfjam input1.pdf '1' input2.pdf '1' --outfile output.pdf
¡JA, ANECA, creías que ibas a vencerme!
Me queda como investigación para el futuro hacer un buclecillo que vaya haciendo algo de este tipo automáticamente para todos los archivos de una carpeta.
Otro tema interesante es que las versiones anteriores a la 3.02 incluyen unas pocas funciones para rotar las páginas en sentido antihorario (o positivo para los científicos):
pdf90 input.pdf # produce input-rotated90.pdf
pdf180 input.pdf
pdf270 input.pdf
que, como se puede ver en el repo en el que están ahora son wrappers de pequeños scripts del tipo:
pdfjam --suffix rotated90 --angle 90 --fitpaper true --rotateoversize true "$@"
Leer el manual de pdfpages y compararlo con este script nos ayuda a entender que las opciones de PDFjam son las mismas que las de pdfpages pero con sintaxis de terminal.
¡Otra vez la magia del software libre salva el día!
Aunque igual no…
Ya que cuando creía que tenía todo bajo control hubo un plot twist:
Usted se registró en cl@ve por Internet y el trámite que está intentando realizar requiere que el registro en cl@ve haya sido de forma presencial.
Contra la burocracia no hay magia que sirva.
Referencias
PDFjam en Github
PDFjam-extras en Github
pdfpages en CTAN
Quickly extracting individual pages from a document en TeX exchange
Command line: How do you rotate a PDF file 90 degrees? en Unix&Linux Stackexchange