Fusionar imágenes png en un archivo pdf [cerrado]

Respuestas:

152

Al revisar la documentación de ImageMagick, podría ser tan fácil como:

convert 1.png 2.png myfile.pdf

Si eso no funciona, PDFjam afirma poder resolver su problema.

Jeremías Willcock
fuente
6
Eso es increíble. Tan fácil. Ajusta automáticamente el tamaño de las imágenes y todo. Me encanta el código abierto.
Nathan Wallace
¿Existe alguna forma de controlar la calidad del documento o el tamaño del archivo del PDF resultante? Necesito cargar algunos documentos con un tamaño de archivo máximo de 2.5 MiB. Lo intenté con la -qualityopción, pero el tamaño del archivo siempre es ~ 9.5 MiB.
arielnmz
¿Es posible agregar archivos de imagen a un pdf existente?
Kiran Reddy
3
Convierta todos los archivos en una carpeta de un tipo específico usandoconvert *.jpg file.pdf
haakym
2
@arielnmz, puedes comprimir el archivo usando los parámetros -compress jpeg -quality 50. Vea mi respuesta
Michael Schmid
37

Si quiero fusionar algunos escaneos en un archivo PDF, hago esto:

pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png

Esto le brinda un documento PDF con tamaño de página DIN-A4, donde cada pngarchivo se centra en su propia página. Las imágenes que son demasiado grandes para una página DIN-A4 se redimensionan proporcionalmente para que quepan en una página. Las imágenes más pequeñas no se redimensionan (no se agrandan).

Debe nombrar todos los pngarchivos en la línea de comandos, pero también puede usar comodines para, por ejemplo, fusionar todos los archivos png en el directorio actual:

pdfjoin --a4paper --fitpaper false --rotateoversize false *.png

El pdfjoincomando es parte de PDFjam como se menciona en la respuesta de Jeremiah Willcock. Por lo tanto, lo más probable es que tenga que instalar un paquete con el nombre pdfjamo texlive-extra-utilscon el administrador de paquetes de su distribución. PDFjam puede utilizar pngarchivos como entrada desde la versión 2.07, lanzada en 2010-11-13.

Pascal Rosin
fuente
parece que pdfjoin se ha ido y ahora solo hay una herramienta diferente llamada pdfunite que solo combina varios archivos PDF en uno ...
Gregor
1
@Gregor ¿Qué te hace decir que pdfjoin se ha ido?
Pascal Rosin
@Pascal_Rosin no pudo encontrarlo en Debian ni en los repositorios de Arch ...
Gregor
2
pdfjoinestá disponible en el texlive-extra-utilspaquete en algunas plataformas. También puede instalarlo siempre desde la fuente.
Mahmoud Al-Qudsi
11

La herramienta de conversión de ImageMagick es mi preferencia.

El programa de conversión es un miembro del conjunto de herramientas ImageMagick. Úselo para convertir entre formatos de imagen, así como para cambiar el tamaño de una imagen, desenfocar, recortar, eliminar, difuminar, dibujar, voltear, unir, volver a muestrear y mucho más.

convert [input-option] input-file [output-option] output-file`

Si desea que los archivos de imagen (y por lo tanto, su calidad y tamaño de archivo) no se modifiquen, y simplemente coloque un contenedor PDF alrededor de ellos:

convert In.png In-2.png Someother-*.png Result.pdf

En caso de que desee tener un tamaño de archivo más pequeño y esté de acuerdo con una pérdida de calidad, puede convertirlos primero al formato JPEG. (ImageMagick también admite cambiar el nivel de compresión PNG, pero generalmente sus archivos de entrada ya están usando el nivel más alto).

convert 1.png 2.png -compress jpeg -quality 50 Result.pdf

Utilice un valor entre 0 y 100 para quality opción.

Alternativamente, puede alcanzar un tamaño (y calidad) de archivo más bajo volviendo a muestrear las imágenes a una resolución determinada.

convert *.png 2.png -resample 300 Result.pdf

El valor de se resamplerefiere al número de píxeles por pulgada. ImageMagick lee la densidad original de la parte EXIF ​​de las imágenes de entrada, retrocediendo a 72 ppp. Puede utilizar el densityparámetro para establecer una resolución personalizada para las imágenes de entrada.

Por supuesto, puede también combinar los compress, qualityy resampleparámetros.

Michael Schmid
fuente
¿Alguien aquí sabe cómo revertir la operación?
Andrei Cioara
Los archivos de imagen no se eliminan, aunque puede copiarlos para su tranquilidad. También tuve que resolver el problema stackoverflow.com/questions/42928765/… antes de que funcionara.
Audrius Meskauskas
Cualquiera que encuentre un problema para convertir imágenes a pdf y vea un error que diga 'convertir no permitido', verifique esta respuesta: askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
Tuhin
Recientemente, imagemagick niega la conversión de PDF por defecto. Consulte esta pregunta si encuentra esto para saber cómo cambiar esta política. stackoverflow.com/questions/52998331/…
user2565010
5

Robé esto, pero esta es la solución que usé de Jeremiah Willcock y otro sitio web de respuestas. No escarbando en la historia en este momento. Mentí, lo hice. (Tully @ https://askubuntu.com/a/626301 )
Necesitaba un archivo lo suficientemente pequeño como para enviarlo por correo electrónico.

Para combinar imágenes en un PDF (desde el directorio de trabajo, use la línea de comando:

user@box:/home/user/scans/:$ 
convert 1.png 2.png convertoutput.pdf

Para encoger usando ghostscript después de combinar (usé casi en el sistema predeterminado de kde):

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
   -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
   -r150 -sOutputFile=output.pdf convertoutput.pdf

Mi archivo tenía 14 imágenes (19 MB después de la conversión, gs lo hizo 1,6 MB, la calidad seguía siendo excelente). El archivo de salida se llama output.pdf.

pctech101
fuente
Puede comprimir el archivo directamente con convertir , utilizando los parámetros -compress jpeg -quality 50. Vea mi respuesta
Michael Schmid
@MichaelSchmid La compresión con convert no es tan efectiva. Solo reduce la calidad jpeg mientras que la solución gs cambia la resolución. Si lo prueba con una imagen de alta resolución, verá cuán grande es la diferencia de tamaño, incluso si opta por una calidad jpg extremadamente baja.
MAK
Sí, el remuestreo podría ser más efectivo que la compresión JPEG. Y ImageMagick también lo admite. Agregué esa opción en mi respuesta.
Michael Schmid