Substituir uma imagem em um PDF usando a linha de comando

7

Eu preciso processar alguns arquivos PDF. A tarefa consiste em trocar um determinado arquivo de imagem por outro. Meu primeiro problema é como substituir uma imagem PDF da linha de comando em um processo em lote. Em seguida, tentarei resolver outros problemas, como identificar qual é a imagem que preciso substituir (porque os arquivos PDF podem ter mais de uma imagem). Mas primeiro quero resolver o primeiro problema: como substituir uma imagem em um PDF por outra.

Eu li sobre o poppler-utils e pdftk mas, até onde eu sei, nenhuma dessas ferramentas permite substituir imagens em PDF.

    
por Ivan 08.06.2015 / 13:31

1 resposta

0

OK ... acho que pdflatex é a peça que falta aqui.

O OP disse que analisou poppler-utils e pdftk . Deixe-me adicionar a esse pdfimages . Estes, juntamente com pdflatex , são as partes de uma solução.

pdfimages -f 4 -l 20 -j -png target.pdf imageroot

No código de exemplo acima, pdfimages examina as páginas 4 a 20 de target.pdf e extrai todas as imagens em arquivos com nomes que começam com imageroot .

poppler-utils fornece pdftotext . Eu recomendo a opção -layout , que faz um ótimo trabalho mantendo o documento legível para humanos.

pdftotext -layout $1.pdf $1.txt

A objeção do OP à solução imagemagick oferecida pelo pidosaurus é que uma imagem não possui texto extraível. Com os utilitários que descrevi, o OP agora terá todas as imagens, bem como todo o texto extraído, e os números das páginas e o conteúdo serão mantidos pela opção -layout . O OP poderia identificar a página correta do texto e colocá-la em um arquivo .tex que termina com uma diretiva %includegraphics e se refere à imagem de substituição por nome de arquivo. Você então pdflatex e acaba com uma nova página única .pdf para inserir no restante do documento com pdftk . Se você sabia onde no texto da página original a imagem residia, você pode %includegraphics [h] e obter a imagem exatamente no lugar certo.

    
por 12.11.2017 / 19:36