Como faço para editar muitos arquivos PDF todos os dias, por isso passo muito tempo pensando em como fazê-lo da melhor maneira.
Para mim, a melhor maneira é dividir o PDF em um arquivo PDF de uma página, ao lado de editar com o GIMP, ao lado de combiná-lo. Eu não uso o imagemagick em todos os arquivos (eu não uso), por isso não perco a camada de texto em todas as páginas, mas apenas nas edições. Não carregue o arquivo PDF inteiro de uma vez, pois isso causa exaustão de memória.
Dividir PDF em arquivos de 1 página
Divida facilmente arquivos PDF em PDF de 1 página, usando esta função do bash (coloque-o em ~ / .bashrc):
function pdf_split(){
for file in "$@"; do
if [ "${file##*.}" != "pdf" ]; then
echo "Skip $file because it's not PDF file";
continue
fi;
pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}')
echo "Detect $pages in $file";
filename="${file%.*}";
unset Outfile;
for i in $(seq 1 "$pages"); do
pdftk "$file" cat "$i" output "$filename-$i.pdf";
Outfile[$i]="$filename-$i.pdf";
done;
done;
};
Agora você pode entrar split_pdf file.pdf
para obter muitos arquivos PDF.
Redigir arquivos
Mas agora você precisa editar todos esses arquivos. Você pode fazer isso com gimp original-filename-*.pdf
. Sugiro configurar o atalho no GIMP (Janela principal-> Editar-> Atalho) para substituir o arquivo (eu uso CTRL + R), desfocar o filtro (por exemplo, CTRL + D), fechar o arquivo (por exemplo, CTRL + W) e sair do GIMP ( por exemplo, CTRL + Q). Lembre-se de não carregar no GIMP muitos arquivos de uma só vez, mas sim o GIMP quando você carregar após abrir, para que você possa usar gimp original-filename-*.pdf
milhares de arquivos com segurança.
Combinar arquivos
Você pode combinar arquivos facilmente com: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";
Conecte tudo junto
Essas operações são muito repetitivas e chatas, então eu conecto tudo em um script:
function pdf_redact(){
for file in "$@"; do
if [ "${file##*.}" != "pdf" ]; then
echo "Skip $file because it's not PDF file";
continue
fi;
pages=$(pdfinfo "$file" | grep "Pages" | awk '{print $2}')
echo "Detect $pages in $file";
filename="${file%.*}";
unset Outfile;
for i in $(seq 1 "$pages"); do
pdftk "$file" cat "$i" output "$filename-$i.pdf";
Outfile[$i]="$filename-$i.pdf";
done;
gimp "${Outfile[@]}";
pdftk "${Outfile[@]}" cat output "$filename-anon.pdf";
rm "${Outfile[@]}";
read -p "Do you want open output file? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
evince "$filename-anon.pdf";
fi
read -p "Do you want upload output file to Scribd.com? " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
scribd_up "$filename-anon.pdf";
fi
done;
};
A versão mais recente desse script está sempre acessível em: http://dostep.jawne.info.pl/it/bashrc
Lembre-se de fechar o GIMP (CTRL + Q) depois de toda a redação para continuar o script.
Além disso, eu abri arquivos editados (gosto de ler para verificar se todos) e carregava no Scribd com meu outro script - scribd_up , para que agora eu possa editar muitos arquivos PDF com muita eficiência.