Je rédige beaucoup de fichiers PDF tous les jours, donc je passe beaucoup de temps à réfléchir à la meilleure façon de le faire.
Pour moi, le meilleur moyen est de diviser le PDF en fichier PDF d'une page, à côté de modifier avec GIMP, à côté de le combiner. Je n'utilise pas imagemagick sur tous les fichiers (je n'utilise pas du tout), donc je ne perds pas de couche de texte sur toutes les pages, mais uniquement sur les caviardés. Ne chargez pas l'intégralité du fichier PDF à la fois, car cela entraîne un épuisement de la mémoire.
Fractionner le PDF en fichiers d'une page
Divisez facilement les fichiers PDF en PDF d'une page, vous pouvez par cette fonction bash (le mettre dans ~ / .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;
};
Vous pouvez maintenant entrer split_pdf file.pdf
pour obtenir un grand nombre de fichiers PDF.
Réduire les fichiers
Mais, maintenant, vous devez modifier tous ces fichiers. Vous pouvez le faire avec gimp original-filename-*.pdf
. Je suggère de configurer le raccourci dans GIMP (Fenêtre principale-> Édition-> Raccourci) pour remplacer le fichier (j'utilise CTRL + R), le filtre de flou (par exemple CTRL + D), fermer le fichier (par exemple CTRL + W) et quitter GIMP ( par exemple, CTRL + Q). N'oubliez pas de ne pas charger GIMP dans de nombreux fichiers à la fois, mais GIMP comme vous le chargez après l'ouverture, vous pouvez donc l'utiliser gimp original-filename-*.pdf
sur des milliers de fichiers en toute sécurité.
Combiner des fichiers
Vous pouvez facilement combiner des fichiers avec: pdftk originam-filename-*.pdf cat output "new-file-anon.pdf";
Connectez le tout ensemble
Ces opérations sont très répétitives et ennuyeuses, donc je connecte tout cela en 1 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;
};
La dernière version de ce script est toujours accessible à: http://dostep.jawne.info.pl/it/bashrc
N'oubliez pas de fermer GIMP (CTRL + Q) après toute rédaction pour continuer le script.
En plus, j'ouvre des fichiers expurgés (j'aime lire pour vérifier s'ils sont tous) et je télécharge sur Scribd avec mon autre script - scribd_up , alors maintenant je peux expurger beaucoup de fichiers PDF très efficacement.