El formato PDF incluye una buena cantidad de información relacionada al propio documento, comúnmente denominada metadatos. Esta información está contenida dentro del propio archivo y suele ser visualizada desde las "Propiedades del archivo" en cualquier visor de PDF. Por ejemplo en el visor de PDF Evince desde el menú "File options > Properties...".

Este artículo explica cómo volcar estos metadatos PDF desde línea de comandos en Linux, sin necesidad de abrir el archivo con un visor.



La herramienta pdfinfo, parte del paquete "poppler-utils" permite volcar por pantalla la información o metadatos de un archivo PDF pasado como parámetro:

emi@hal9000:~$ pdfinfo Downloads/Certificado.pdf 
Title:          plantilla-con-foto2
Creator:        Adobe Illustrator CC 2015 (Windows)
Producer:       3-Heights(TM) PDF Optimization Shell 4.8.25.2 (http://www.pdf-tools.com); modified using iTextSharp 5.0.0 (c) 1T3XT BVBA
CreationDate:   Wed Sep 20 15:34:43 2017 -03
ModDate:        Thu Dec  5 02:55:30 2019 -03
Tagged:         no
UserProperties: no
Suspects:       no
Form:           AcroForm
JavaScript:     no
Pages:          1
Encrypted:      no
Page size:      595.28 x 841.89 pts (A4)
Page rot:       0
File size:      107807 bytes
Optimized:      no
PDF version:    1.5

Es posible comparar con la captura anterior y notar que es exactamente la misma información, salvo que está mostrada en un orden diferente. Los metadatos son extraídos del diccionario "Info" desde el archivo PDF pasado como parámetro.

Esta herramienta puede ser de gran utilidad para implementar búsquedas avanzadas o filtrar archivos PDF desde scripts Bash. Por ejemplo, un "one-liner" para detectar todas las versiones de formato PDF utilizadas por los archivos PDF a partir del directorio "Downloads":

emi@hal9000:$ find Downloads -type f -iname "*.pdf" -exec pdfinfo {} \; 2>/dev/null | grep 'PDF version' | sort | uniq
PDF version:    1.2
PDF version:    1.3
PDF version:    1.4
PDF version:    1.5
PDF version:    1.6
PDF version:    1.7

O encontrar todo el software utilizado para crearlos:

emi@hal9000:~$ find Downloads -type f -iname "*.pdf" -exec pdfinfo {} \; 2>/dev/null | grep 'Creator:' | sort | uniq
Creator:        
Creator:        ACDSee v3.1 - CBook
Creator:        Acrobat PDFMaker 10.1 for Word
Creator:        Acrobat PDFMaker 8.1 para Word
Creator:        Adobe Acrobat Pro 9.0.0
Creator:        Adobe Illustrator CC 2015 (Windows)
Creator:        Adobe Illustrator CC (Macintosh)
Creator:        Adobe InDesign CC 13.1 (Macintosh)
Creator:        Adobe InDesign CS2_J (4.0.5)
Creator:        Adobe InDesign CS4 (6.0)
Creator:        Adobe LiveCycle Designer ES 9.0
Creator:        AFIP
Creator:        Appligent AppendPDF Pro 5.5
Creator:        Arbortext Advanced Print Publisher 9.1.550/W Unicode
Creator:        DocBook XSL Stylesheets with Apache FOP
Creator:        dvips(k) 5.993 Copyright 2013 Radical Eye Software
Creator:        Impress
Creator:        LaTeX with Beamer class version 3.24
Creator:        LaTeX with hyperref package
Creator:        Linux_Syscall_quickref - Microsoft Word
Creator:        Microsoft® Excel® 2010
Creator:        Microsoft® Office Publisher 2007
Creator:        Microsoft® Office Word 2007
Creator:        Microsoft® PowerPoint® 2010
Creator:        Microsoft PowerPoint - [ACPI_Overview.ppt]
Creator:        Microsoft® Word 2010
Creator:        Microsoft® Word 2013
Creator:        Mozilla/5.0 (X11; FreeBSD amd64; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Creator:        PDFCreator 2.1.2.0
Creator:        pdfFactory Pro www.pdffactory.com
Creator:        pdftk 1.44 - www.pdftk.com
Creator:        PScript5.dll Version 5.2
Creator:        PScript5.dll Version 5.2.2
Creator:        ReportLab PDF Library - www.reportlab.com
Creator:        SANS Institute InfoSec Reading Room
Creator:        TeX
Creator:        tiff2ps
Creator:        wPDF by wpCubed GmbH
Creator:        Writer

Para más información, consultar la página de manual de pdfinfo:

man pdfinfo


Tal vez pueda interesarte


Compartí este artículo