Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/07/2014, à 12:14

le_cheveulu

[RESOLU] manipuler un pdf pour n'avoir que des pages en A4

Bonjour,

Voilà je dispose d'un document pdf avec des pages de différents formats. Certaines sont en A4, d'autre en format double-page A5. J'aimerais transformer ce document qu'avec que des pages A4 pour faciliter la correspondance entre pages réelles et pages fichier.

J'ai trouvé des solutions pour faire une transformation sur un fichier dont toutes les pages sont doubles, en particulier le script donné ici : http://forum.ubuntu-fr.org/viewtopic.php?id=806571&p=1
Mais je ne sais pas comment m'y prendre lorsque le format des pages n'est pas uniforme sur tout le document.

Merci pour votre aide!

Dernière modification par le_cheveulu (Le 10/07/2014, à 09:52)

Hors ligne

#2 Le 09/07/2014, à 16:57

le_cheveulu

Re : [RESOLU] manipuler un pdf pour n'avoir que des pages en A4

Bon je me suis décidé à écrire un script. Mais là je suis novice. J'ai l'impression que l'incrémentation ne se fait pas :

#!/bin/bash

i=0

for f in *.pdf; do
	(
	i=$(($i+1))
	pdftk "$f" dump_data output fichier.txt
	b="PageMediaDimensions: 892.394 672.968"
	a=$( tail -n 1 fichier.txt )
		if [[ $a = $b ]] 
			then
				pdfposter -p 2x1a4 "$f"	"$i".pdf
				rm "$f"
				mv "$i".pdf temp/"$i".pdf
			else
				mv "$f" temp/"$i".pdf
		fi	
	)
done
exit 0

J'ai cassé mon pdf page par page avec pdftk et j'ai mis les fichier dans un dossier "test".

Mon script devrait tester le format de chaque fichier. Si le fichier est un double il le transforme en 2 A4 avec pdf poster et le met dans temp. Sinon il se contente de bouger le fichier dans temp. J'ai testé les commandes une par une elles fonctionnent. Par contre quand je fais tourner le script, les fichier tombent tous dans temp/1.pdf. En clair l'incrémentation ne se fait pas et je ne comprend pas pourquoi. Si quelqu'un pouvait m'aider...

Merci, A+

Hors ligne

#3 Le 10/07/2014, à 09:51

le_cheveulu

Re : [RESOLU] manipuler un pdf pour n'avoir que des pages en A4

Bon, j'ai résolu le problème. La syntaxe de ma boucle for empêchait l'incrémentation. Le bon code est celui-ci :

#!/bin/bash

i=0

for f in *.pdf
do
	i=$(($i+1))
	pdftk "$f" dump_data output fichier.txt
	b="PageMediaDimensions: 892.394 672.968"
	a=$( tail -n 1 fichier.txt )
		if [[ $a = $b ]] 
			then
				pdfposter -p 2x1a4 "$f"	"$i".pdf
				rm "$f"
				mv "$i".pdf temp/"$i".pdf
			else
				mv "$f" temp/"$i".pdf
		fi	
done
exit 0

Hors ligne