Eu faço muitos arquivos PDF todos os dias, então passo muito tempo pensando como fazer da melhor maneira.
Para mim, a melhor maneira é dividir 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 imagemagick em todos os arquivos (eu não uso nada), então eu não perco camada de texto em todas as páginas, mas apenas em redigido. Não carregue todo o arquivo PDF de uma só vez, porque isso causa exaustão de memória.
Dividir PDF em arquivos de uma página
Divida facilmente arquivos PDF em um PDF de uma página com essa função bash (coloque-a 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 inserir 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
.
Eu sugiro configurar atalho no GIMP (Janela principal- > Editar- > Atalho) para substituir o arquivo (eu uso CTRL + R), filtro de desfoque (por exemplo, CTRL + D), fechar arquivo (por exemplo, CTRL + W) e sair GIMP (por exemplo, CTRL + Q). Lembre-se de não carregar o GIMP em muitos arquivos de uma só vez, mas o GIMP como você está carregando depois de aberto, assim você pode usar gimp original-filename-*.pdf
em milhares de arquivos seguros.
Combine 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 deste script está sempre acessível em: link
Lembre-se de fechar o GIMP (CTRL + Q) após toda a redação para continuar o script.
No vício, como eu abrir arquivos redigidos (eu gosto de ler para verificar se todos) e como fazer o upload para o Scribd com o meu outro script - scribd_up , agora posso redigir muitos arquivos PDF de forma muito eficiente.