Como combinar em lote JPEGs de pastas em PDFs


18

Eu tenho cerca de 500 pastas com imagens dentro. Existe uma maneira de converter isso em lote para obter arquivos .pdf que contenham todas as imagens como páginas?

EDITAR:

Deve haver 500 PDFs criados, cada um com o nome da pasta que contém e cada um com imagens como páginas.


3
qual sistema operacional? e você quer uma ferramenta CLI ou GUI? Os arquivos são nomeados de maneira sã ou consistente e a ordem é importante?
Journeyman Geek

No Mac OS X, pode ser qualquer tipo de ferramenta e eu possuo o Acrobat Pro, mas não encontro essa opção. Os arquivos estão organizados em ordem alfabética e eu gostaria de manter essa ordem. Obrigado
Ska

Respostas:


16

O OS X possui várias ferramentas integradas para automatizar o processamento de imagens e a criação de PDF.

Basta abrir o Automator.app , criar um novo aplicativo.

Automator.app

Altere-o conforme mostrado abaixo, arrastando as ações do painel esquerdo para o direito.

Passo um

  • Obter conteúdo da pasta com a opção Repetir… ativada obterá todos os seus arquivos, mesmo dentro dos subdiretórios.

  • O novo PDF da Images criará um arquivo PDF na área de trabalho, cada página consistindo em uma imagem.

Salve o aplicativo em algum lugar (por exemplo, em / Aplicativos ou na área de trabalho). Dê um nome adequado, como "Criar PDF a partir do Image.app". Em seguida, você pode arrastar suas pastas para o ícone. Deixe o fluxo de trabalho fazer o trabalho para você.


O exemplo acima cria um único arquivo PDF para todas as imagens. Se você quiser ter um para cada pasta, isso será mais complicado.

Primeiro, você precisa da ação Distribuir itens de forma incremental . Instale-o. Em seguida, abra o Automator novamente e crie um novo fluxo de trabalho ( não um aplicativo).

Agora, por conveniência, você pode baixar o fluxo de trabalho aqui . Caso esse link seja interrompido, altere-o conforme mostrado abaixo:

Captura de tela do fluxo de trabalho

Ou, em forma de texto:

  • Obter itens do Finder selecionados
  • Distribuir itens de forma incremental (a que instalamos antes)
  • Defina Valor da variável , para lembrar a pasta em que estamos
  • Obter conteúdo da pasta , para obter as imagens
  • Novo PDF a partir de imagens , para criar o PDF. Aqui, pegue a variável no painel "Variáveis" na parte inferior e arraste-a para o campo "Salvar saída em…". Isso garante que o PDF seja criado na pasta à qual ele pertence. Não há maneira fácil de renomear o arquivo além de definir um nome de arquivo estático. Você pode adicionar uma ação de itens Renomear localizador para defini-la.
  • Loop , para começar do início e executar com a próxima pasta. Você pode desativar a parte em que ela pede confirmação.

Salve-o como um fluxo de trabalho e, agora, veja como executá-lo. Selecione suas pastas no Finder.

Captura de tela do Finder

Em seguida, vá para Automator.app e clique em Executar no canto superior direito.


Com 500 pastas, isso pode demorar um pouco. Especialmente com fotos de alta resolução, seu PDF pode se tornar enorme. Mas você pode experimentá-lo em uma seleção menor primeiro e depois permitir que o fluxo de trabalho seja executado até que seja concluído.


Incrível, no entanto, todas as imagens estão agora em um PDF. É possível criar um PDF separado para cada pasta que contém? Eu nem sabia o que você pode fazer com o Automator, muito obrigado!
Ska

@Ska Veja minha resposta atualizada. Espero que funcione para você. É aqui que fica complicado no Automator e é melhor mudar para AppleScript ou um script Bash simples em combinação com AppleScript.
slhck

Não se preocupe, vou renomeá-los mais tarde com o script bash. No entanto, não seria possível criar um aplicativo que passasse a saída de Get Folder Contents (nome da pasta) e criaria uma variável a partir dele?
Ska

@Ska Sim, é assim que você define a variável, mas não pode usá-la no nome da saída do PDF. Pelo menos não de uma maneira fácil.
slhck

Esse é um fluxo de trabalho incrível. Obrigado pela ajuda sobre este assunto. Passei a semana passada descriptografando JPGs de todas as edições da National Geographic até o início dos tempos e precisava de uma maneira de converter todas as 250.000 páginas em PDFs para que eu possa OCR-las e torná-las pesquisáveis. Você acabou de me salvar uma tonelada de trabalho manual. Uma alteração que tive que fazer no script foi definir um período de tempo limite maior que os 0 minutos padrão. Caso contrário, ele criou apenas um PDF. Fiz isso com o loop manual, mas isso é muito envolvimento em um processo automatizado. Eu também disse a ele para salvá-los em uma única pasta para que

22

No OS X

Com o Homebrew , é fácil instalar o ImageMagick:

brew install imagemagick

convert *.jpg output.pdf

e se o PDF resultante for um pouco grande demais, você pode tentar:

convert -quality 60 *.jpg output.pdf

Linux, Unix, Windows

É claro que o ImageMagick também pode ser instalado em outros sistemas Unix, por exemplo, apt-get install imagemagickno Debian e Ubuntu. E mesmo no Windows através do GNU / Cygwin ou Chocolately .


3
Muito mais rápido do que mexer com o Preview!
DK_

1
+1 Acho que a comparação entre essa e a resposta aceita realmente mostra o poder das ferramentas de linha de comando (e especialmente a imagemagick) nesse tipo de situação!
Bill Cheatham

1
Isso também é possível no Windows. Se você estiver usando chocolatey (gerenciador de pacotes para Windows) choco install imagemagick.tool:, e siga os comandos "convert" do @ KasperSouren.
Giscard Biamby


2

Em quase todos os sistemas em que você executaria isso, a sua melhor solução pode ser o ImageMagick . Disponível no * nix, Mac e Windows, suporta caracteres curinga (também conhecido como globbing de nome de arquivo) e especificação de uma lista (por exemplo, @ ImagesToProcess.txt) de arquivos de entrada, algumas opções avançadas de especificação de arquivo, uma poderosa linha de comando, etc.


Também exigiria que eu e o GhostScript fizéssemos a programação com quem sabe quantos gerenciamento de dependência. Eu diria que poderia haver uma ferramenta simples que faça isso. Afinal, o caso de uso é bastante simples.
Ska

Não deve ser tão difícil - contanto que você tenha o ImageMagick e o GhostScript instalados e o ImageMagick capaz de encontrar o GS, basta usar a linha de comando do IM, que simplifica o script. Isso pressupõe que o globbing do nome do arquivo manipulará os arquivos na ordem correta, mas, se não, será mais complexo. Para Windows, aqui está um guia para que eles funcionem juntos: stackoverflow.com/questions/3243361/… . Ainda assim, a outra resposta é melhor para Macs
fencepost

Obrigado pelas dicas impressionantes sobre mensagens instantâneas, poste de cerca. Você aprende algo novo a cada dia. Quanto à pergunta original, tentarei primeiro a solução do slhck.
Ska

Você é muito bem-vindo. Postei não percebendo que A) você estava usando um Mac e B) O suporte ao Ghostscript em Macs é aparentemente significativamente mais fraco por algum motivo - ou pelo menos não acompanha o Windows e o * nix.
fencepost
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.