Na minha opinião, a melhor maneira de realizar o trabalho não é usar um programa de interface gráfica com o usuário, mas usar uma coleção de scripts bash (como em um ambiente Unix / Linux); portanto, se você tiver alguns conhecimentos básicos de programação, poderá para fazer muito mais coisas que um programa GUI pode fornecer a você.
Você pode primeiro instalar uma linha de comando mínima como Unix, que você pode usar
minha preferência é Cygwin, pois contém uma enorme quantidade de pacotes de software.
Se você deseja extrair imagem de um PDF, instale também o pdfimages pdfimages é um utilitário de linha de comando de código aberto para extrair imagens de arquivos PDF. Ele está disponível gratuitamente como parte de poppler-utils e xpdf-utils e é incluído por padrão em muitas distribuições Linux.
$ pdfimages file.pdf foo
Esse uso produz uma série de imagens numeradas com "foo" como prefixo.
Use de fato $ mkdir temp $ mkdir temp / jpg
criar uma pasta temporária chamada jpg dentro de um diretório temporário
$ pdfimages -j file.pdf temp/jpg/foo
Digamos que você tenha agora várias imagens fooXXXX.jpg na pasta temp.
No seu caso, você já teve fotos fooXXXX.jpg.
Agora você pode gerar um PDF usando convert (uma linha de comando do ImageMagick)
Faça o download do ImageMagick http://www.imagemagick.org/ ou instale-o usando o gerenciador de pacotes Cygwin
Dê uma olhada na documentação do convert (digite "ImageMagick convert" no seu mecanismo de pesquisa favorito)
Então você entende que para converter suas fotos em um arquivo PDF, você terá que escrever
$ convert -compress jpeg temp/*.jpg my_output_file.pdf
Isso é tudo ... ;-) mas esta solução pode ser estendida ...
Vamos imaginar que as imagens digitalizadas vieram de um livro ... 1 arquivo é de fato 2 páginas do seu livro ...
portanto, se você tiver 10 arquivos ... seu livro terá 20 páginas ... e você gostaria que seu PDF também tivesse 20 páginas.
Portanto, você precisa dividir a imagem contida em um arquivo para criar 2 arquivos para cada página.
Digamos que seu arquivo seja temp / foo0001.jpg, você terá 2 arquivos temp2 / foo0001a.jpg (página à esquerda) e temp2 / foo0001b.jpg (página à direita)
Crie o diretório temp2 (onde seus arquivos cortados irão)
$ mkdir temp2
$ mkdir temp2/jpg
Crie um arquivo chamado split_jpg_minw.sh usando um editor de texto (Emacs, VI ou, se você preferir o aplicativo Windows, poderá usar o Notepad ou o Notepad ++)
minimal_width=1500
minimal_width_ignore=10
rm temp2/jpg/*.jpg
for f in temp/jpg/*.jpg
do
f2=$(basename $f)
read -r width height <<< $( convert $f -format "%w %h" info:)
width2=$(( ${width} / 2 ))
height2=${height}
if [ $width -gt $minimal_width ]; then
echo "split $f ${width}x${height} to 2 files ${width2}x${height2}"
convert $f -crop ${width2}x${height2}+0+0 +repage temp2/jpg/${f2%%.*}a.jpg
convert $f -crop ${width2}x${height2}+$width2+0 +repage temp2/jpg/${f2%%.*}b.jpg
else
if [ $width -gt $minimal_width_ignore ]; then # ignore if with < 10px
echo "copy $f ${width}x${height} (don't split because width<$minimal_width)"
cp $f temp2/jpg/$f2
else
echo "ignore $f ${width}x${height} width=$width<minimal_width_ignore=$minimal_width_ignore"
fi
fi
do
width = 1500px é o limite para dividir um arquivo (ou não)
- um arquivo com largura acima de 1500 px será dividido
- um arquivo com largura abaixo de 1500px não será dividido
Tornar este script executável
$ chmod +x split_jpg_minw.sh
(você pode usar a tecla tab para preencher automaticamente o nome do arquivo)
Execute o script
$ ./split_jpg_minw.sh
Os arquivos divididos estarão na pasta temp2 / jpg
Gere o novo arquivo "dividido".
$ convert -compress jpeg temp2/*.jpg my_output_file_splitted.pdf
Você pode adicionar muito mais opções à sua cadeia para produzir arquivos PDF usando o script bash.
Não há limite ... você só precisa aprender scripts (mas algumas amostras de código às vezes são muito mais úteis que livros)
Por exemplo, você pode aplicar filtro às suas fotos antes de gerar o arquivo PDF (para remover, por exemplo, o padrão Moiré ou reduzir o ruído) usando ferramentas de linha de comando, como G'MIC