2009-05-04 36 views
6

Tengo un archivo PDF de entrada (generalmente, pero no siempre generado por pdfTeX), que quiero convertir a PDF de salida, que es visualmente equivalente (sin importar la resolución), tiene los mismos metadatos (información de texto Unicode, hipervínculos, contornos, etc.), pero el tamaño del archivo es lo más pequeño posible.¿Cómo optimizar el tamaño del archivo PDF?

que sé acerca de los métodos siguientes:

  • java -cp Multivalent.jar tool.pdf.Compress input.pdf (desde http://multivalent.sourceforge.net/). Esto recomprime todas las secuencias, elimina objetos no utilizados, unifica objetos equivalentes, comprime espacios en blanco, elimina valores predeterminados y comprime la tabla de referencias cruzadas.
  • Recompresión de imágenes adecuadas con jbig2 y PNGOUT.
  • Re-codificación de fuentes Type1 como fuentes CFF.
  • Unificación de imágenes equivalentes.
  • Unificar subconjuntos de la misma fuente en un subconjunto más grande.
  • Eliminar formularios rellenables.
  • Al destilar o convertir (por ejemplo, gs -sDEVICE=pdfwrite), asegúrese de que no degrada la calidad de la imagen y no aumenta (!) El tamaño de las imágenes.

que sé acerca de las técnicas siguientes, pero no se aplican en mi caso, pues ya tengo un PDF:

  • Uso fuentes más pequeñas y/o menos.
  • Use imágenes vectoriales en lugar de imágenes de mapa de bits.

¿Tiene alguna otra idea de cómo optimizar PDF?

+2

El multivalente actual: http://downloads.sourceforge.net/project/multivalent/multivalent/Release20091027/Multivalent20091027.jar ahora falta la clase tool.pdf.Compress. Esto se describe aquí: http://sourceforge.net/p/multivalent/discussion/252478/thread/e7850c31/?limit=50#a96d. ¿Conoce alguna buena herramienta de reemplazo? –

+0

Existen versiones antiguas multivalentes en Arch Linux: https://aur.archlinux.org/packages/multivalent-pdf-tools/ –

Respuesta

10

archivos PDF Optimizar

Evite los gráficos refritos

Para los gráficos que deben ser insertados como mapas de bits, los preparan para la máxima capacidad de compresión y dimensiones mínimas. Utilice las mejores imágenes de calidad que pueda en la resolución de salida del PDF. Al insertar archivos JPEG comprimidos en archivos PDF y destilarlos, es posible volver a comprimir archivos JPEG, lo que puede crear artefactos notables. Utilice imágenes y texto en blanco y negro en lugar de imágenes en color para permitir el uso del nuevo estándar JBIG2 que sobresale en la compresión monocromática. Asegúrese de desactivar las miniaturas al guardar archivos PDF para la Web. Usar gráficos vectoriales

Utilice gráficos basados ​​en vectores donde sea posible para imágenes que normalmente se convertirían en GIF. Las imágenes vectoriales se escalan perfectamente, se ven maravillosas y sus fórmulas matemáticas suelen ocupar menos espacio que los gráficos de mapa de bits que describen cada píxel (aunque hay algunos casos en los que los gráficos de mapa de bits son en realidad más pequeños que los gráficos vectoriales). También puede comprimir datos de imágenes vectoriales mediante la compresión ZIP, que está integrada en el formato PDF. Acrobat Reader versión 5 y 6 también es compatible con el estándar SVG. Minimizar fuentes

El uso de las fuentes, especialmente en PDF más pequeños, puede tener un impacto significativo en el tamaño del archivo. Minimice la cantidad de fuentes que usa en sus documentos para minimizar su impacto en el tamaño del archivo. Cada fuente adicional incorporada puede tomar fácilmente 40K en tamaño de archivo, razón por la cual la mayoría de los autores crean fuentes "subconjutadas" que solo incluyen los glifos realmente utilizados. Aplanar formularios de grasa

Los formularios de Acrobat pueden ocupar mucho espacio en sus archivos PDF. Nuevo en Acrobat 8 ​​Pro, puede aplanar los campos de formulario en el cuadro de diálogo Avanzado -> Optimizador de PDF -> Descartar objetos. El aplanamiento de formularios hace inutilizables los campos de formulario y los datos de formulario se fusionan con la página. También puede usar PDF Enhancer de Apago para reducir formularios en un 50% eliminando la información presente en el archivo pero nunca utilizada. También puede combinar un PDF refrito con las páginas de formularios anteriores para crear un PDF híbrido en Acrobat (consulte la sección "PDF rellenado" a continuación).

ver article

+0

+1 voto. Gracias por el enlace y el extracto. Aunque no me ayudó a hacer que mis archivos PDF fueran aún más pequeños (todas las técnicas que menciona están en uso o no se aplican a mi caso), ofrece una buena idea. – pts

4

De especificación PDF versión 1.5 hay dos nuevos métodos de compresión, arroyos y corrientes de objetos de referencias cruzadas.

Menciona que la herramienta de compresión Multivalent.jar comprime la tabla de referencias cruzadas. Esto generalmente significa que la tabla de referencia cruzada se convierte en una secuencia y luego se comprime.

El formato de este flujo de referencia cruzada no es fijo. Puede cambiar el tamaño de bit de las tres "columnas" de datos. También es posible preprocesar los datos del flujo utilizando una función de predicción que mejorará el nivel de compresión de los datos. Si mira dentro del PDF con un editor de texto, es posible que pueda encontrar la entrada /Predictor en el diccionario de flujo de referencia cruzada para verificar si la herramienta que está utilizando está aprovechando esta característica.

El uso de un predictor en la compresión también puede ser útil para las imágenes.

El segundo tipo de compresión que se ofrece es el uso de flujos de objetos.

A menudo en un PDF tiene muchos objetos similares. Ahora se pueden combinar en un solo objeto y luego se pueden comprimir. La documentación de la herramienta Compresión multivalente menciona que se usan flujos de objetos pero no tiene muchos detalles sobre la elección real de qué objetos agrupar. La compresión será mejor si agrupa objetos similares en una secuencia de objetos.

Cuestiones relacionadas