Saltar al contenido

Cómo saber si un archivo PDF está comprimido o no y (des) comprimirlo

Solución:

en breve:

Para saber si ya está comprimido:

strings your.pdf | grep /Filter

Para (des) comprimir un PDF, use QPDF

qpdf --stream-data=compress your.pdf compressed.pdf
qpdf --stream-data=uncompress compressed.pdf uncompressed.pdf  

explicación:

La palabra clave “Filtro” dentro de un archivo pdf es un indicador del método de compresión utilizado. Algunos de ellos son:

CCITT G3 / G4: utilizado para imágenes monocromas
JPEG: un algoritmo con pérdida que se utiliza para imágenes
JPEG2000: una alternativa más moderna a JPEG, que también se utiliza para comprimir imágenes
Flate: se utiliza para comprimir texto e imágenes
JBIG2: una alternativa a la compresión CCITT para imágenes monocromas
LZW: se utiliza para comprimir texto e imágenes, pero es reemplazado por Flate
RLE: se utiliza para imágenes monocromas
ZIP: se utiliza para imágenes en escala de grises o en color

(copiado de aquí).

Sin embargo, dada la compleja estructura del archivo PDF, la mayoría de las veces alguna parte (o “flujo”) del PDF ya estará comprimida de alguna manera (y se mostrará al hacer grepping / Filter) mientras que otra parte no lo estará, por lo que No hay respuesta SÍ / NO a la pregunta de si el PDF está comprimido.
Una forma de superar esto sería agregar la -c opción a grep, que devuelve el número de ocurrencias, para que pueda ver relativamente qué tan bien está comprimido. por ejemplo, si strings "large.pdf" | grep -c /Filter devuelve menos de 10, es bastante no comprimido.

Otra propiedad relacionada con el tamaño de los archivos PDF es si se han optimizado para un acceso rápido, y los archivos PDF “optimizados” tienen un tamaño mayor, para citar en wikipedia:

Hay dos diseños para los archivos PDF: no lineal (no “optimizado”) y lineal (“optimizado”). Los archivos PDF no lineales consumen menos espacio en disco que sus contrapartes lineales, aunque su acceso es más lento porque partes de los datos necesarios para ensamblar las páginas del documento se encuentran dispersas por todo el archivo PDF. Los archivos PDF lineales (también llamados archivos PDF “optimizados” u “optimizados para la web”) se construyen de una manera que les permite ser leídos en un complemento del navegador web sin esperar a que se descargue todo el archivo, ya que se escriben en el disco en un moda lineal (como en el orden de las páginas). Los archivos PDF se pueden optimizar con el software Adobe Acrobat o QPDF.

Puede comprobar si el PDF está optimizado utilizando pdfinfo your.pdf.

pdftk es una herramienta para realizar algunas operaciones en archivos PDF, como compresión / descompresión:

$ pdftk test.pdf output compressed_test.pdf compress
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *