¿Cómo puedo combinar varios .png
archivos en un archivo PDF en Unix?
Respuestas:
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.
-quality
opción, pero el tamaño del archivo siempre es ~ 9.5 MiB.
convert *.jpg file.pdf
-compress jpeg -quality 50
. Vea mi respuesta
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 png
archivo 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 png
archivos 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 pdfjoin
comando 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 pdfjam
o texlive-extra-utils
con el administrador de paquetes de su distribución. PDFjam puede utilizar png
archivos como entrada desde la versión 2.07, lanzada en 2010-11-13.
pdfjoin
está disponible en el texlive-extra-utils
paquete en algunas plataformas. También puede instalarlo siempre desde la fuente.
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 resample
refiere 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 density
parámetro para establecer una resolución personalizada para las imágenes de entrada.
Por supuesto, puede también combinar los compress
, quality
y resample
parámetros.
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
.
-compress jpeg -quality 50
. Vea mi respuesta