![Crie um PDF a partir de várias imagens (selecionadas)](https://rvso.com/image/83679/Crie%20um%20PDF%20a%20partir%20de%20v%C3%A1rias%20imagens%20(selecionadas).png)
Para converter várias imagens em PDF, este script fará isso para todas as imagens dentro de uma pasta:
#!/bin/bash
#
for f in *.png; do
convert ./"$f" ./"${f%.png}.pdf"
done
Mas cada imagem é convertida em um arquivo separado.
Todas as imagens podem ser convertidas em um único PDF?
Responder1
Você pode usar a -adjoin
opção de convert
:
convert -adjoin *.png out.pdf
Este comando resultará em um pdf
arquivo com todas as png
imagens.
Responder2
Fonteaqui, paraGere arquivo PDF a partir de qualquer conjunto de documentos, não apenas imagens.
Da fonte acima:
Princípio principal
Quando você deseja gerar um arquivo PDF de várias páginas a partir de vários documentos, você precisa seguir alguns passos:
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.
A conversão dos documentos de entrada para o formato PDF temporário deve ser feita de acordo com seu 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, …)
Dependendo dos tipos de documentos de entrada, a conversão para PDF deve ser feita utilizando ferramentas específicas:
convert (from ImageMagick) for image files unoconv for Libre Office, Microsoft Office and plain text files
Depois que todos os documentos de entrada forem convertidos em alguns arquivos PDF temporários, a montagem final do documento é feita usando GhostScript. Esta poderosa ferramenta permite:
merge multiple PDF documents optimize final file size
Para Nautilus e Gnome veja mais detalhes no link acima, que inclui mais scripts para automatizar os processos necessários. Usei uma abordagem mais limitada, pois a solução é simplificada para Gnome ad Nautilus e uso principalmente KDE e Dolphin.
Esta solução fornece os resultados solicitados na questão, mas também se destina a ser aplicada adocumentos de texto e PDFs (além das imagens)e fundi-los todos no PDF final.
Os arquivos são integrados ao pdf de saídaem ordem alfabética.
O comando final do menu de contexto também pode ser aplicadopara a pasta que contém todos os arquivosa ser mesclado.
A solução também inclui algunsGUIcaracterísticas.
Então:
sudo apt-get install imagemagick unoconv ghostscript zenity libfile-mimeinfo-perl
Usando gedit
ou outro editor de texto:
gedit ~/.config/pdf-generate.conf
E cole isto:
[general]
compression=95
density=200
Portanto, se você quiser modificar algum parâmetro padrão, basta editar este arquivo antes de executar a ferramenta.
O script principal responsável pela geração do PDF k=job deve ser colocado em /usr/local/bin/pdf-generate
. Veja o link da fonte para o conteúdo do script principal. (Tambémaqui.)
Você pode instalar o script principal e seu arquivo de configuração na linha 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 totalmente esta ferramenta de geração de PDF em seu ambiente de desktop:
gedit /usr/share/applications/pdf-generate.desktop.
Veja o link para integração Gnome/Nautilus e download e instalação automatizados. Uma versão ligeiramente simplificada e ajustada às minhas necessidades do 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 obter uma integração completa com o desktop, esta ferramenta de geração de PDF deve serdisponível em uma ação personalizada no menu de contexto do gerenciador de arquivos.
Para o Nautilus, você precisa declarar a nova ação personalizada em um arquivo .desktop colocado em ~/.local/share/file-manager/actions
(veja o link para conteúdo). Para Dolphin/KDE ele está no formato ~/.kde/share/kde4/services/ServiceMenus/
. Portanto, eu fiz:
gedit ~/.kde/share/kde4/services/ServiceMenus/pdf-generate.desktop
com o conteúdo:
[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
Após o login novamente, uma opção de menu de contexto aparece ao selecionar os arquivos, conforme indicado no link da fonte. Para minha configuração do KDE/Dolphin, isso funciona para arquivos selecionados se eles tiverem a mesma extensão. Caso contrário, a melhor maneira é colocar todos os arquivos necessários em uma pasta e executar o comando no menu de contexto do botão direito dessa pasta.
Testando em uma pasta contendo um arquivo png, jpeg, pdf e odt:
O arquivo de saída está na pasta de origem, com o nome first_in_alphabetical_order-merged.pdf
.
Responder3
Atualizada:
O que usei mais recentemente no Dolphin é este menu de serviço:
[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 disseaqui. (Para corrigir problemas com a numeração adequada dos arquivos, consulteesse.)
sudo apt install imagemagick
Crie um menu de contexto para o gerenciador de arquivos, por exemplo um “Menu de Serviço” para o Dolphin; ~/.local/share/kservices5/ServiceMenus/IMG_2_PDF.desktop
: 4pPtqnJTDYShMf3 [Entrada na área de trabalho] Type=Serviço ServiceTypes=KonqPopupMenu/Plugin MimeType=imagem/*; Ações=pdf;
[Desktop Action pdf]
Name=Create PDF from images
Icon=application-pdf
Exec=bash -c 'convert %F out.pdf'
Para qualquer gerenciador de arquivos que suporte ações de menu de contexto, as linhas importantes são:
MimeType=image/*;
Exec=bash -c 'convert %F out.pdf'
Certifique-se de não ser afetado peloPolítica de segurança do ImageMagick 'PDF' bloqueando a conversão.
Usando Gthumb (nem todos os visualizadores podem imprimirmúltiploimagens para arquivo):
- selecione as imagens, clique com o botão direito e abra todas no gThumb (elas serão exibidas como em um navegador de arquivos, não no visualizador de imagens);
Pode-se até reorganizar as imagens antes de criar o pdf!
Basta arrastar e soltar:
- para imprimi-los selecione-os novamente, clique com o botão direito sobre eles, selecione "Imprimir";
- selecione o local onde salvar o arquivo e na lista de impressoras selecione "Imprimir em arquivo".
Outros visualizadores de imagens que podem imprimir várias imagens em PDF:
(A propósito, também sou o OP e autor de outra resposta (agora assinada user32012
): excluí minha conta em algum momento e agora estou de volta.)