Cree un pdf a partir de varias imágenes (seleccionadas)

Cree un pdf a partir de varias imágenes (seleccionadas)

Para convertir varias imágenes a PDF, este script lo hará para todas las imágenes dentro de una carpeta:

#!/bin/bash
#
for f in *.png; do
  convert ./"$f" ./"${f%.png}.pdf"
done

Pero cada imagen se convierte en un archivo independiente.

¿Se pueden convertir todas las imágenes en un solo pdf?

Respuesta1

Puedes utilizar la -adjoinopción de convert:

convert -adjoin *.png out.pdf

Este comando dará como resultado un pdfarchivo con todas las pngimágenes.

Respuesta2

Fuenteaquí, aGenere archivos PDF a partir de cualquier conjunto de documentos, no sólo imágenes.

De la fuente anterior:

Principio fundamental

Cuando desee generar un archivo PDF de varias páginas a partir de varios documentos, debe seguir algunos pasos:

Sort of all input documents in alphabetical order
Convert them to some temporary PDF files
Assemble all temporary PDF documents to a final multi-pages PDF document.

La conversión de documentos de entrada a formato PDF temporal debe realizarse según su tipo MIME:

Image files (jpg, png, tiff, …)
Plain text files (txt)
Libre Office & Open Office documents (odt, ods, …)
Microsoft Office files (doc, docx, xls, xlsx, ppt, pptx, …)

Dependiendo del tipo de documento de entrada, la conversión a PDF debe realizarse utilizando herramientas específicas:

convert (from ImageMagick) for image files
unoconv for Libre Office, Microsoft Office and plain text files

Una vez que todos los documentos de entrada se convierten a algunos archivos PDF temporales, el ensamblaje del documento final se realiza utilizando GhostScript. Esta poderosa herramienta permite:

merge multiple PDF documents
optimize final file size

Para Nautilus y Gnome, vea más detalles en el enlace anterior, que incluye más scripts para automatizar los procesos necesarios. He utilizado un enfoque más limitado, ya que la solución está optimizada para Gnome ad Nautilus y uso principalmente KDE y Dolphin.

Esta solución proporciona los resultados solicitados en la pregunta, pero también debe aplicarse aDocumentos de texto y pdf (además de imágenes).y fusionarlos todos en el pdf final.

Los archivos están integrados en el pdf de salida.en orden alfabético.

El comando final del menú contextual también se puede aplicara la carpeta que contiene todos los archivospara fusionarse.

La solución también incluye algunosGUIcaracterísticas.

Entonces:

sudo apt-get install imagemagick unoconv ghostscript zenity libfile-mimeinfo-perl

Usando geditu otro editor de texto:

gedit ~/.config/pdf-generate.conf

Y pega esto:

[general]
compression=95
density=200

Entonces, si desea modificar algún parámetro predeterminado, simplemente edite este archivo antes de ejecutar la herramienta.

El script principal a cargo de la generación de PDF k=job debe colocarse en /usr/local/bin/pdf-generate. Consulte el enlace fuente para conocer el contenido del guión principal. (Tambiénaquí.)

Puede instalar el script principal y su archivo de configuración desde la línea de comando:

# mkdir --parents $HOME/.config
# wget --header='Accept-Encoding:none' -O $HOME/.config/pdf-generate.conf https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/pdf/pdf-generate.conf
# sudo wget --header='Accept-Encoding:none' -O /usr/local/bin/pdf-generate https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/pdf/pdf-generate
# sudo chmod +x /usr/local/bin/pdf-generate

Para integrar completamente esta herramienta de generación de PDF en su entorno de escritorio:

gedit /usr/share/applications/pdf-generate.desktop.

Consulte el enlace para la integración de Gnome/Nautilus y la descarga e instalación automatizadas. Una versión ligeramente simplificada y ajustada a mis necesidades de KDE:

    [Desktop Entry]
Type=Application
Exec=pdf-generate
Hidden=false
NoDisplay=false
Icon=pdf
Keywords=pdf;generate;image;office;document;merge
StartupNotify=true
Name[en_US]=Generate PDF document
Name[en]=Generate PDF document
Name[C]=Generate PDF document
Name[fr_FR]=Génération d'un PDF
Comment=Tool to merge a set of documents to a PDF file.
Comment[en_US]=Tool to merge a set of documents to a PDF file.
Comment[fr_FR]=Outil de concaténation de documents en un fichier PDF.
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/tiff;application/pdf;application/x-pdf;application/x-bzpdf;application/x-gzpdf;application/msword;application/vnd.ms-word;application/vnd.oasis.opendocument.text;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;text/plain;
Categories=GNOME;GTK;Graphics;Conversion;Utility;

Para obtener una integración completa con el escritorio, esta herramienta de generación de PDF debe serdisponible desde una acción personalizada en el menú contextual del administrador de archivos.

Para Nautilus, debe declarar la nueva acción personalizada en un archivo .desktop ubicado debajo ~/.local/share/file-manager/actions(consulte el enlace para ver el contenido). Para Dolphin/KDE está en formato ~/.kde/share/kde4/services/ServiceMenus/. Por lo tanto, hice:

gedit ~/.kde/share/kde4/services/ServiceMenus/pdf-generate.desktop

con el contenido:

[Desktop Entry]
Actions=pdf-generate
Encoding=UTF8
Icon=pdf
MimeType=MimeTypes=image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/tiff;application/pdf;application/x-pdf;application/x-bzpdf;application/x-gzpdf;application/msword;application/vnd.ms-word;application/vnd.oasis.opendocument.text;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;text/plain;inode/directory;application/pdf
ServiceTypes=KonqPopupMenu/Plugin
Type=Service


[Desktop Action pdf-generate]
Exec=pdf-generate %F
Icon=pdf
Name=Create pdf file

Después de volver a iniciar sesión, aparece una opción de menú contextual al seleccionar archivos, como se indica en el enlace de origen. Para mi configuración de KDE/Dolphin, esto funciona para archivos seleccionados si tienen la misma extensión. De lo contrario, la mejor manera es simplemente colocar todos los archivos necesarios en una carpeta y luego ejecutar el comando desde el menú contextual del botón derecho de esa carpeta.

ingrese la descripción de la imagen aquí

Prueba en una carpeta que contiene un archivo png, jpeg, pdf y odt:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

El archivo de salida está en la carpeta de origen, con el nombre first_in_alphabetical_order-merged.pdf.

ingrese la descripción de la imagen aquí

Respuesta3

Actualizado:

Lo que he usado más recientemente en Dolphin es este menú de servicio:

[Desktop Entry]
Type=Service
Actions=image2pdf
Icon=application-pdf
Encoding=UTF-8
TryExec=img2pdf
ServiceTypes=KonqPopupMenu/Plugin
MimeType=image/*

[Desktop Action image2pdf]
Exec=konsole -e img2pdf %F -o out.pdf
Icon=application-pdf
Name=Convert selected image(s) into single pdf  

como dijoaquí. (Para solucionar problemas con la numeración adecuada de los archivos, consulteeste.)


sudo apt install imagemagick

Cree un menú contextual para el administrador de archivos, por ejemplo un "Menú de servicio" para Dolphin; ~/.local/share/kservices5/ServiceMenus/IMG_2_PDF.desktop: 4pPtqnJTDYShMf3 [Entrada de escritorio] Tipo=Servicio ServiceTypes=KonqPopupMenu/Plugin MimeType=image/*; Acciones=pdf;

[Desktop Action pdf]
Name=Create PDF from images
Icon=application-pdf
Exec=bash -c 'convert %F  out.pdf'

Para cualquier administrador de archivos que admita acciones del menú contextual, las líneas importantes son:

MimeType=image/*;
Exec=bash -c 'convert %F out.pdf'

Asegúrese de que no le afectePolítica de seguridad de ImageMagick 'PDF' que bloquea la conversión.


Usando Gthumb (no todos los espectadores pueden imprimir)múltipleimágenes para archivar):

  • seleccione las imágenes, haga clic derecho sobre ellas y ábralas todas en gThumb (se mostrarán como en un explorador de archivos, no en el visor de imágenes);

ingrese la descripción de la imagen aquí

¡Incluso se pueden reorganizar las imágenes antes de crear el pdf!

Simplemente arrastre y suelte:

ingrese la descripción de la imagen aquí

  • para imprimirlos, selecciónelos nuevamente, haga clic derecho en ellos, seleccione "Imprimir";

ingrese la descripción de la imagen aquí

  • seleccione la ubicación donde guardar el archivo y en la lista de impresoras seleccione "Imprimir en archivo".

ingrese la descripción de la imagen aquí

Otros visores de imágenes que pueden imprimir varias imágenes en PDF:


(Por cierto, soy el OP y autor de otra respuesta también (ahora firmado user32012): eliminé mi cuenta en algún momento y ahora he vuelto).

información relacionada