Cómo disminuir el tamaño de .pdf sin perder calidad

Fondo

Quiero disminuir el tamaño del .pdf lleno de imágenes. Se Previewpuede pasar por el domo Exporty configurarlo Quartz Filter-> Reduce File Sizeantes de guardar.

Vista previa-Exportar

Problema

De hecho, el archivo disminuyó de ~30 MB a 0,37 MB.

Pero el resultado es de tan mala calidad que las imágenes apenas se pueden leer.

Pregunta

Vi un ejemplo de uso Image Magicpara lograrlo, pero ¿se puede hacer con Preview sin ningún software externo?

Respuestas (9)

El problema es que el filtro predeterminado utilizado durante la conversión tiene una configuración de conversión muy baja.

Afortunadamente, se puede agregar un filtro personalizado.

Agregar filtro personalizado paso a paso

  1. Crear un nuevo directorio (si no lo tiene) -/Library/Filters
  2. Agregue allí un nuevo archivo de filtro con un filtro único - feReduce Size with good quality.qfilter
  3. El archivo debe contener XML con un nuevo filtro; puede basarse en el /System/Library/Filters/Reduce File Size.qfilterarchivo o usar mi ejemplo a continuación. Cambie la configuración de compresión, el tamaño de la imagen y agregue un nombre para mostrar único para su filtro.

Filtrar estructura de archivos/ejemplo

Marqué la configuración clave por comentarios.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Domains</key>
    <dict>
        <key>Applications</key>
        <true/>
        <key>Printing</key>
        <true/>
    </dict>
    <key>FilterData</key>
    <dict>
        <key>ColorSettings</key>
        <dict>
            <key>DocumentColorSettings</key>
            <dict>
                <key>CustomLHSCorrection</key>
                <array>
                    <integer>8</integer>
                    <integer>8</integer>
                    <integer>8</integer>
                </array>
            </dict>
            <key>ImageSettings</key>
            <dict>
                <key>Compression Quality</key>
    <!-- ====== Set your custom quality <0,1> ======= -->
                <real>0.75</real>
                <key>ImageCompression</key>
                <string>ImageJPEGCompress</string>
                <key>ImageScaleSettings</key>
                <dict>
                    <key>ImageScaleFactor</key>
    <!-- ====== Set your scale factor <0,1> ======= -->                 
                    <real>0.75</real>
                    <key>ImageScaleInterpolate</key>
                    <true/>
    <!-- ====== Set what sizes your images can reach ======= -->                    
                    <key>ImageSizeMax</key>
                    <integer>1684</integer>
                    <key>ImageSizeMin</key>
                    <integer>1200</integer>
                </dict>
            </dict>
        </dict>
    </dict>
    <key>FilterType</key>
    <integer>1</integer>
    <key>Name</key>
<!-- ====== Set unique display name for your filter ======= -->
    <string>Reduce Size Good Quality</string>
</dict>
</plist>

Resultado

Seleccione su nuevo filtro al exportar el archivo.

ingrese la descripción de la imagen aquí


Artículos útiles:

Lamento tener solo un voto a favor para dar...
También puede ponerlo en ~/Library/Filters para que no se necesite sudo, al menos en macOS 11.6. Gracias, esto fue muy útil.
Esto ya no funciona porque, incluso como usuario root, obtienes "Operación no permitida" cuando intentas agregar o editar algo en el directorio /System/...
El archivo "más pequeño" terminó 10 veces más grande....
Presioné el botón de votar tan fuerte que se rompió. ¿Cómo alerto a un administrador para reparaciones?
@DNS ¿Por qué? Arriba puedes ver mi pregunta + mi respuesta a eso. No visité esta solución por un tiempo, si algo aquí no funciona, etc., puede señalarlo, para que pueda actualizar la respuesta. Recuerde que las respuestas son instantáneas en el tiempo: pueden volverse obsoletas :) esta la escribí hace 5 años, para cualquier versión de macOS en el pasado
@michalczukm Es una broma :) Estoy diciendo que esta es una gran respuesta.
@DNS mi error: DI lo supervisé: pensé que era un "voto negativo". Tonto yo :badpockerface: gracias por eso :)

Use la utilidad ColorSync incorporada de Apple para crear un filtro personalizado.

Puede crear su propio filtro para reducir el tamaño de los datos de la imagen en el PDF, utilizando la utilidad ColorSync incorporada de Apple.

Haga clic en la pestaña Filtros en la barra de herramientas. Luego haga clic en + en la parte inferior de la ventana para agregar un nuevo filtro. Luego haga clic en la rueda dentada o en el menú desplegable en el lado derecho de su filtro.

ingrese la descripción de la imagen aquí

Luego, en " Agregar componentes de efectos de imagen ", elija " Muestreo de imagen en color " y, opcionalmente, Compresión de imagen .

ingrese la descripción de la imagen aquí

Tenga en cuenta que no puede modificar los del sistema existente, pero puede duplicarlos y modificarlos.

Luego seleccione el filtro en la exportación de vista previa:

ingrese la descripción de la imagen aquí

(NB: por alguna razón, "Exportar como PDF" no muestra los filtros, pero Exportar, eligiendo PDF como formato de archivo, sí lo hace).

¡Funcionó a las mil maravillas! Vale la pena la nota, el filtro original no se puede modificar, uno tiene que duplicar el filtro original, nombrarlo y solo entonces puede cambiarlo.
(Cambie el nombre haciendo doble clic en el nombre en la lista de la Utilidad ColorSync.) El filtro resultante termina en ~/Library/Filters (en Catalina, al menos); muévalo a /Sistema/Biblioteca/Filtros/ si por alguna razón necesita estar disponible en todo el sistema.
@JLundell No puede escribir en /System. Puede pegarlo en /Librería/Filtros para todos los usuarios.
¡Incluso más simple que editar un archivo XML! Gracias
¡Gracias! Esta solución también funciona en la nueva versión de Catalina 10.15.3. Con esta versión no puede editar ni agregar archivos en el Sistema de carpetas/Biblioteca/Filtros, por lo que parece ser la única solución disponible ahora.
¿Puedes aclarar el primer paso? Inicié la Utilidad ColorSync pero no veo ninguna función para duplicar o crear un nuevo filtro.
@KenShirriff Abra una ventana nueva, si es necesario, y haga clic en la pestaña Filtros.
Esto funciona para Monterey OSX 12.3, la otra solución no funciona para esta versión.

Manera fácil


Utilidad ColorSync

abra la 'utilidad de sincronización de color' y elija Filtros y Duplicar filtro

ingrese la descripción de la imagen aquí

Establecer resoluciones y compresión de imagen como 'Sin comprimir'

ingrese la descripción de la imagen aquí

Ir al Exportmenú. (NO Export as PDF)

ingrese la descripción de la imagen aquí

¿Cómo se suma esto a las respuestas ya proporcionadas?
la respuesta no mencionó el modo de descompresión. y sin captura de pantalla
Votado a favor. Las capturas de pantalla pueden ser solo una adición menor, pero ninguna otra respuesta hasta ahora mencionó cómo configurar filtros para imágenes sin comprimir , lo cual es crucial.

La vista previa es muy limitada en sus capacidades.

(Aunque bien podría valer la pena probar la respuesta de @ michalczukm para documentos simples , por ejemplo, esos archivos PDF sin mucha estructura, sin Marcadores. Además: si bien es posible que no perciba visualmente ninguna pérdida de calidad, sigue siendo un procedimiento con pérdida, pero con configuraciones menos agresivas luego el filtro de cuarzo original.)

En lugar de Image Magick o Preview, sugiero probar:

  • Adobe Acrobat (caro)

o el libre/gratis

  • GhostScript con los siguientes parámetros:
    gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.7 -dNOPAUSE -dQUIET -dPDFSETTINGS=/prepress -sOutputFile=Name_of_Outputfile.pdf To_Reduce_Input.pdf

Puedes jugar con estos ajustes. Los que se proporcionan aquí no deben realizar ninguna conversión con pérdida ni eliminar estructuras de documentos importantes. Significado: la mayoría de las veces los ahorros obtenidos pueden ser muy buenos, pero a veces el tamaño del archivo incluso aumenta.

Ghostscript está disponible a través de varios lugares para macOS. El muPDF relacionado incluso está disponible en la App Store .

Si creó el PDF usted mismo, obviamente sería mejor reducir las imágenes sin pérdidas antes de incluirlas en el documento (el PDF). Ajustar el tamaño de la imagen en términos de conteo de píxeles/resolución adecuada para el medio de salida previsto podría producir los mayores ahorros.

el uso de ghostscript se ve muy bien para escenarios más grandes y complejos. Para documentos simples (ese fue mi caso), el filtro fue rápido de usar y lo suficientemente bueno. PD: tenga en cuenta que tanto la pregunta como la primera respuesta son mías :)
muPDF solo está en la tienda de aplicaciones de iOS, no en la tienda de aplicaciones de Mac.

Según la respuesta de michalczukm, un filtro de cuarzo puede resolver esto. Creé el mío propio y lo compartí en Github. Puede instalarlo fácilmente con una sola línea de comando. No instala ningún software, solo el filtro de cuarzo.

https://github.com/superman-lopez/compressjpeginpreview

Instalar

Ejecute el siguiente código en su terminal:

mkdir -p ~/Library/Filters/ && curl -o ~/Library/Filters/Compress\ Images\ in\ PDF.qfilter https://raw.githubusercontent.com/superman-lopez/compressjpeginpreview/master/Compress%20Images%20in%20PDF.qfilter

Uso

Después de esto, el filtro se puede usar en Preview.app (y otras aplicaciones que admiten filtros de cuarzo).

  1. Abra el PDF en Preview.app
  2. Seleccionar archivo y exportar...
  3. Elija Formato para ser PDF
  4. Elija el filtro de cuarzo para comprimir imágenes en PDF
  5. Elija su destino preferido y haga clic en Guardar

Puede usar ImageMagick para reducir el tamaño de un PDF al reducir su resolución.

Instale con brew install imagemagick, luego ejecute:

convert -density 72 oldfile.pdf new.pdf

donde 72 es el DPI objetivo.

Puede usar este sitio web: https://smallpdf.com/compress-pdf para reducir archivos PDF a un tamaño realmente pequeño. La calidad del PDF sigue siendo muy buena incluso después de la compresión.

Buena plataforma, pero desafortunadamente se agotó el tiempo de espera para mí. PDF de página de 4k (más de 3 GB) > "La compresión de su archivo PDF tomó demasiado tiempo. El tiempo máximo de compresión actualmente está limitado a 10 minutos".
Lo he usado brevemente hasta ahora en modo de prueba. Comprime archivos PDF de forma masiva en Finder desde el menú de servicio, ahorra mucho espacio (en modo profesional). ¡Muy conveniente! Los precios son $11.60/mes o $105/año .

Esto es para cualquiera que esté en el mismo barco que yo. Tenía un PDF de anotaciones escritas a mano en un libro exportado de Goodnotes. El método del filtro de cuarzo no funcionó para mí, incluso cuando apliqué un filtro personalizado con configuraciones agresivas. Esto me hace pensar que el filtro solo se aplica a las imágenes en el PDF. En mi caso, el filtro más agresivo redujo un PDF de 104 MB a 103 MB.

Uso de Automator para reducir el tamaño de PDF

Nota : este método funciona convirtiendo páginas de su PDF en archivos JPEG comprimidos y luego volviéndolas a unir en un PDF, por lo que se eliminarán otros datos del PDF, como marcadores y notas.

  • Automatizador abierto.
  • Vaya a Archivo > Nuevo y elija Flujo de trabajo .
  • Cree el flujo de trabajo de la siguiente manera.
    • En el panel izquierdo, busque Solicitar elementos del buscador y arrástrelo al panel derecho.
    • A continuación, agregue Procesar páginas PDF como imágenes y configure la Compresión y la Resolución de los archivos JPEG.
    • Finalmente, agregue Nuevo PDF desde Imágenes .
  • Haga clic en Ejecutar (arriba a la derecha), elija su PDF y espere a que Automator haga su trabajo.

En mi caso, esto redujo el tamaño del archivo a 10 MB.

Aquí hay una captura de pantalla de mi flujo de trabajo:

Captura de pantalla del flujo de trabajo

Esta respuesta se basa en esta respuesta en las comunidades de Apple.

¿Esto no disminuye la calidad del PDF?
Se puede configurar el nivel de compresión JPEG y la resolución. No es sin pérdidas, pero eso también es cierto para el método de filtro de cuarzo.

Si tiene un pdf que es la versión 1.6 o 1.7, puede usar la configuración de duplicado en Vista previa. La vista previa guardará el archivo como un pdf 1.4 y ahorrará aproximadamente un 50 % en el tamaño del archivo. Por lo que puedo decir, no hay pérdida de calidad. No es necesario utilizar la exportación: tamaño de archivo reducido a menos que desee obtener más ahorros.

Eso podría funcionar, está bien, para algunos documentos destinados a la impresión. Pero el razonamiento es dudoso. Por lo general, aumentar la versión de PDF permite una mejor compresión, etc. ¿Se da cuenta de que usar Vista previa de esta manera genera pérdidas, por ejemplo, en relación con la estructura del documento: perderá marcadores, por ejemplo?
Solo estoy describiendo algunos hallazgos de trabajar con Vista previa y archivos PDF. No entiendo por qué esto funciona de la manera que lo hace, pero eso es lo que aprendí ...
Bueno, no puedo hacer que esto se repita con una versión más nueva de vista previa. no se que paso Estoy seguro de que mi análisis anterior era correcto.
Estoy seguro de que su observación fue correcta (la "explicación" probablemente no). Es por eso que esta A todavía está bien y el método vale la pena intentarlo. Hay bastantes archivos PDF muy horribles por ahí. Incluso de editores realmente grandes. (¿Ha intentado con los mismos archivos PDF pero con una vista previa más nueva?) Dado que la especificación de PDF en sí misma es un desastre: además de garantizar el control de la creación desde el principio, se debe probar el "mejor" método, casi siempre...