Como converter um arquivo .pdf em uma pasta de imagens?

16

Eu tenho alguns arquivos .pdf que gostaria de converter para o meu formato de leitura preferido de .cbr ou .cbz ou, se isso não for diretamente possível, preciso extrair todas as páginas do .pdf como imagens e compactá-las em meu formato de escolha. Só consegui salvar páginas uma de cada vez com o Document Viewer. Obviamente, eu gostaria de fazê-lo um pouco mais rápido. Eu tentei pdfsam, shuffler pdf e pdfmod todos sem sorte. Estou usando o Ubuntu 11.10.

Shawn
fonte

Respostas:

14

Tudo bem, eu fiz mais algumas pesquisas e, embora o método de tohuwawohu funcione, achei mais fácil usar um programa chamado pdftoppm para obter o que eu queria que fosse feito. Como sou praticamente um leigo no que diz respeito ao uso de aplicativos de linha de comando, farei o possível para explicar como consegui que isso funcionasse para mim.

  1. Navegue até a pasta que contém o arquivo .pdf que deseja editar e abra um terminal lá. Eu fiz isso usando o comando de exemplo:

    cd ~/Documents/PDF
    
  2. Digamos que o arquivo que eu quero editar se chame Sample.pdf O que eu quero fazer é usar o pdftoppm para criar arquivos de imagem de cada página do arquivo .pdf. Vários formatos podem ser escolhidos (consulte o link das páginas de manual acima), mas eu prefiro usar .png. O comando básico fica assim:

    pdftoppm -FORMAT FILENAME.pdf PREFIX
    

    ou no exemplo acima:

    pdftoppm -png Sample.pdf Sample
    

    Este comando cria um arquivo de imagem de cada página na mesma pasta que o arquivo .pdf original com nomes como Sample-01.png, Sample-02.png e assim por diante. Eu tentei com as extensões .png e .jpeg com sucesso. .jpg aparentemente não é suportado.

  3. Depois, apenas uso o Archive Manager selecionando todos os arquivos de imagem recém-criados, clicando com o botão direito do mouse e escolhendo "Compactar" no menu de contexto. Depois, escolho o formato de arquivo preferido (neste caso, .cbz ou Comic Book Zip) e crio o novo arquivo.

  4. Agora eu tenho um novo arquivo .cbz brilhante chamado Sample.cbz que eu posso ver com o meu leitor Comix !

Espero que o que eu postei acima faça sentido o suficiente para que alguém possa aprender com isso. Se precisar alterá-lo de alguma forma, entre em contato.

Shawn
fonte
Muito agradável! Parece que pdftoppmé de fato mais fácil de usar do que o ImageMagick convert.
tohuwawohu
sim, muito útil e fácil. Eu só quero saber. pode adicionar prefixo alfa. Como prefixo-um, prefixo-b, c-prefixo, desta forma
Pankaj Badukale
pdftoppmé extremamente lento e usa toda a RAM do meu computador. pdfimages -jfuncionou muito melhor.
Eric Duminil
4

Não estou muito familiarizado com * .cbr / * .cbz, mas parece que você precisará combinar duas etapas:

  1. Converter PDF em imagens
  2. Compacte-os em um arquivo ZIP / RAR.

Em relação à etapa 1, você pode usar o comando do ImageMagickconvert . Você pode alimentar convertcom um PDf composto por várias páginas e convertretornará cada página como um arquivo gráfico único. Eu testei com um texto digitalizado em 400 dpi e o seguinte comando resultou em bons JPGEs únicos:

$ convert -verbose -colorspace RGB -interlace none -density 400 -quality 100 yourPdfFile.pdf 00%d.jpeg

(créditos referentes à -qualityopção: esta entrada do fórum )

Como resultado, você começa 000.jpeg, 001.jpege assim por diante. Basta compactá-los em um .cbzarquivo e pronto.

Você pode até combinar as duas etapas "concatenando" elas:

$ convert -verbose -colorspace RGB -interlace none -density 400 -quality 100 yourPdfFile.pdf 00%d.jpg && zip -vm comic.cbz *.jpg

(verifique se não há outros JPEGs no diretório de trabalho atual, pois, usando o código acima, o zip moverá todos os JPEGs para o arquivo cbz)

tohuwawohu
fonte
4

Eu escrevi um script bash simples para exatamente esse propósito, você precisará do poppler instalado, portanto:

sudo apt-get install poppler-utils #ubuntu
brew install poppler # mac

Aqui está o script bash (salve-o como convert_to_cbz.sh):

filename="${1%.*}"
echo "Converting $filename to cbz"
mkdir "./$filename"
pdftoppm -jpeg "$1" "./$filename/000"
zip -r9 "${filename}.cbz" "./$filename" 
rm -rf "./$filename"

Para usar o script bash:

chmod +x convert_to_cbz.sh
./convert_to_cbz.sh "Nintendo Official Magazine 066 (OldGameMags).pdf"

Espero que isso seja útil para alguém!

Alasdair Morrison
fonte
Maravilhoso, obrigado. Eu tive que mudar um pouco o script. pdftoppmusei toda a minha RAM e travou o meu computador. Substituir a quarta linha por pdfimages -j "$1" "./$filename/000" fez o truque. Funciona bem, é rápido, não parece haver perda de qualidade e o cbz é um pouco menor que o pdf original. pdfimagestambém está incluído no poppler-utils.
quer
3

Tente usar o calibre para converter diretamente o arquivo .pdf em .cbr ou .cbz.

bntser
fonte
Obrigado pela sugestão, mas o uso do Caliber como solução não funcionará. Instalei o programa e lamento dizer que ele se destaca como um polegar dolorido na minha área de trabalho! Além disso, descobri que o uso do comando pdftoppm abaixo é MUITO MAIS rápido do que instalar e configurar o Caliber antes da conversão.
Shawn #
@ Shawn Sim, eu diria que o Calibre é feio e lento, mas faz o trabalho. Estou contente por ter encontrado uma solução melhor, embora :)
bntser
1

Parece que a maneira mais fácil é usar o Acrobat Pro.

  1. Abra o PDf no Acrobat Pro.
  2. Depois que o arquivo for aberto, vá para FileExportImageJPEG, ele exportará cada página como um único JPG.
  3. Coloque todos os JPGs em uma pasta
  4. Feche a pasta.
  5. Altere manualmente a extensão no final do arquivo compactado de .zip para .cbz

Se você preferir um arquivo CBR , rar a pasta em vez de compactá-lo e altere a extensão de .rar para .cbr .

Eric Vincent
fonte