L'un de nos fournisseurs a commencé à coller une image inutilement énorme à la dernière page de PDF que nous obtenons d'eux. Je dois couper ça. Cependant, nous en avons des centaines, il est donc prohibitif d'entrer manuellement. Quelles sont les meilleures façons d'extraire puis de supprimer (de préférence la première, puis l'autre; j'ai encore besoin de confirmer via la taille du fichier que je ne supprime pas celle qui n'a pas l'image) la dernière page d'un PDF automatiquement? Le système d'exploitation est Linux.
Je peux l'extraire en utilisant ghostscript, avec quelque chose dans le sens de gs -dFirstPage=5 -dLastPage=5
, mais j'ai besoin d'automatiser cela, je ne peux pas parcourir et trouver manuellement le numéro de la dernière page.
Des idées?
Modifier: pour clarifier, je veux simplement diviser / supprimer la dernière page. Pas l'image en elle, accise la dernière période de la page.
pdftk
- je suis certain que cela peut être fait pour fonctionner en général pour ce genre de tâche.Réponses:
Comme l'a déjà fait remarquer @Daniel Andersson, cela peut facilement être fait avec
pdftk
:Je ne sais pas si cela peut être fait avec un seul appel à pdftk ...
Edit : vous pouvez le combiner avec la réponse de thanosk et l'utiliser (en bash):
lorsque vous avez déjà extrait la dernière page de la variable
$last
.la source
Pour améliorer davantage la réponse de @derdering, pdftk version 1.45 et versions ultérieures ont les moyens de référencer les pages dans l'ordre inverse en ajoutant la lettre minuscule r au numéro de page. La dernière page d'un PDF est r1, l'avant-dernière page est r2, etc.
Par exemple, l'appel pdftk unique:
supprimera la page finale de input.pdf - l'entrée doit être d'au moins deux pages.
Pour extraire uniquement la dernière page d'un PDF afin de tester sa taille de fichier, exécutez:
Pdftk est disponible sur Linux. De nombreuses distributions ont un binaire que vous pouvez installer. Vous devez cependant vous assurer qu'il s'agit de la version 1.45 ou ultérieure. Sinon, vous pouvez construire pdftk à partir du code source.
la source
pdfinfo vous donnera la taille du fichier pdf réel, et pdfimages vous donnera un index des images dans ledit fichier pdf. Vous pouvez donc écrire un script sous la forme
qui devrait retourner si un fichier particulier a une image dans la dernière page. Si c'est le cas, vous pouvez faire toute manipulation que vous devez faire.
la source
Voici une solution utilisant pdfjam au lieu de pdftk:
Où le premier argument est le fichier à rogner et le second argument le nombre de pages à rogner (par défaut à 1).
la source
Une solution à un revêtement serait d'utiliser
find
avecpdftk
:REMARQUE : les fichiers recadrés sont stockés dans cet exemple dans un sous-répertoire appelé
cut
pour conserver le nom de fichier d'origine carpdftk
ne permet pas d'écraser les fichiers d'entrée.la source