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 21/11/2015, à 09:30

jeff22150

Besoin aide développement "logiciel"

Bonjour à toutes et à tous.
Voilà plusieurs jours que je suis à la recherche d'un programme qui me permettrait de découper un pdf.
Je m'explique :
Imaginez que j'ai un document numérisé au format A3 contenant tout naturellement 2 pages A4 sur chaque page A3.
J'ai besoin de récupérer simplement soit la partie gauche soit la partie droite de chaque page A3 et tou cela dans un pdf au format A4.
Vous allez donc me dire qu'il existe déjà des logiciels qui peuvent faire cela (de manière plus ou moins détourner). J'ai testé :
- Krop
- pdfposter (associé à pdftk)
- pdfshuffler

Le problème c'est que toutes les solutions testées font tous la même chose : il découpe pas l'image présente sur la page A3 mais plutôt "cache" la partie non souhaitée de la page. Ce type de solution peut être utile mais malheureusement cela pas pour moi au vu de l'utilisation future de ce fichier pdf.

Je me suis donc dit qu'il fallait aller voir du coté script et voilà un programme qui (semble) fonctionner :
0 - création d'un répertoire temporaire pour mettre les images

mkdir temporaire

1 - conversion de toutes les pages A3 du pdf en image au format jpg (toutes les images seront dans le rep temporaire et commenceront par proto)

pdfimages -j fichier_init.pdf ./temporaire/proto

2 - Couper toutes les images en deux en conservant que la partie droit ou gauche

mogrify -crop 50x100%+0+0 -gravity NorthWest *.jpg
ou
mogrify -crop 50x100%+0+0 -gravity NorthEast *.jpg

3 - Remettre toutes les images dans un fichier pdf

convert *.jpg fichier_final.pdf

4- supression du répertoire temporaire

rmdir temporaire

J'en arrive donc à réellement à mon problème :
Ce petit "programme" n'est pas simplement pour moi mais également pour des collègues qui n'y connaissent pas grand chose en script (et je dirai même plus il ne connaissent pas grand chose à linux)
J'aimerai donc réaliser une "petite" interface graphique un peu comme pdfchain (qui est de mémoire la GUI de pdftk).
pour ceux qui ne connaissent pas pdfchain et afin de faciliter mon discours voici une capture écran
http://pdfchain.sourceforge.net/images/ … _title.png
Cette interface semble correspondre à quelques toutes petite chose prêt à ce que je veux faire.
les modifs :
- Je n'ai besoin que d'un onglet
- la colonne rotation pourrait être remplacé par "coté à récupérer"
- pas besoin de mot de passe...

Est-ce que quelqu'un a une idee qui me permettrait de faire cela simplement ?
Toute aide serait la bienvenue.
Cordialement
JF Jamoteau

Merci de respecter les règles du forum, la taille des images est limitée.

Dernière modification par HAL (Le 21/11/2015, à 10:10)


OS : Ubuntu gnome 14.04
Matériel : Ordi portable HP EliteBook 840 G1

Hors ligne

#2 Le 21/11/2015, à 20:47

jeange

Re : Besoin aide développement "logiciel"

Bonjour
Cela est possible sous Gimp d'importer un pdf, le recadrer, changer les dimensions et l'exporter dans un certain nombre de format.


PCLF CLEVO W670SZQ  SSD 480Go  i3  Ram 12Go  Haswell HD4600 Ubuntu 20.04.6 et 22.04.3 LTS 64bit
033 V nospE  03.01.2 pmiG
Merci de donner les retours avec les balises < > et les allers avec les valises, et toujours pas de raton laveur.
%NOINDEX%

Hors ligne

#3 Le 23/11/2015, à 12:27

jeff22150

Re : Besoin aide développement "logiciel"

Bonjour.
D'accord, Gimp peut le faire sur une page A3 mais cela devient beaucoup plus problématique dès que le pdf initial comporte plus d'une page, ce qui est très souvent mon cas.
Cordialement
JF Jamoteau


OS : Ubuntu gnome 14.04
Matériel : Ordi portable HP EliteBook 840 G1

Hors ligne

#4 Le 23/11/2015, à 12:45

jeange

Re : Besoin aide développement "logiciel"

D'accord pour la manip qui peut paraître plus longue avec Gimp pour la découpe,il faudrait tester avec XnViewMulti Platform ou le traitement par lot est intéressant si GhostScript est installé, voire ici: http://newsgroup.xnview.com/viewtopic.php?f=83&t=32079


PCLF CLEVO W670SZQ  SSD 480Go  i3  Ram 12Go  Haswell HD4600 Ubuntu 20.04.6 et 22.04.3 LTS 64bit
033 V nospE  03.01.2 pmiG
Merci de donner les retours avec les balises < > et les allers avec les valises, et toujours pas de raton laveur.
%NOINDEX%

Hors ligne

#5 Le 23/11/2015, à 13:00

Compte anonymisé

Re : Besoin aide développement "logiciel"

Bonjour,

si vous et vos collègues utilisent nautilus (le navigateur de fichier par défaut d'Ubuntu)

je propose un script pour nautilus pour ce cas de figure (à mettre dans ~/.local/share/nautilus/scripts et à rendre executable) :

imagedroite.sh

#!/bin/sh
mkdir temporaire
for a in "$@"
do
pdfimages -j "$a" temporaire/"${a%.*}"droite
mogrify -crop 50x100%+0+0 -gravity NorthEast temporaire/"${a%.*}"droite-*
convert temporaire/"${a%.*}"droite-* "${a%.*}"droite.pdf
done
rm -rf temporaire

imagegauche.sh

#!/bin/sh
mkdir temporaire
for a in "$@"
do
pdfimages -j "$a" temporaire/"${a%.*}"gauche
mogrify -crop 50x100%+0+0 -gravity NorthWest temporaire/"${a%.*}"gauche-*
convert temporaire/"${a%.*}"droite-* "${a%.*}"gauche.pdf
done
rm -rf temporaire

ça peut etre pas mal, il suffira de sélectionner les fichiers dans nautilus et clique gauche et choisir le coté qu'on veut dans le menu script.

EDIT : modification après essai

Dernière modification par Compte anonymisé (Le 23/11/2015, à 16:22)

#6 Le 23/11/2015, à 16:21

Compte anonymisé

Re : Besoin aide développement "logiciel"

Si j'ai bien compris le côté à récupérer peut-être soit le droit ou soit le gauche dans le même fichier ?

Si oui et si le principe d'un script Nautilus semble vous convenir, je pourrai réfléchir à une solution qui permet qui extrait les 2 côtés et qui garde automatiquement le côté "où il y a quelque chose dessus".

Cordialement

#7 Le 23/11/2015, à 21:29

jeff22150

Re : Besoin aide développement "logiciel"

bonjour.
pour jeange : je testerai demain la solution xnview.

pour anonyme68 :
merci beaucoup pour le travail effectué.

la problématique est un tout petit peu plus complexe que cela :
- je ne veux effectivement qu'un seul coté de la page A3 mais il y a aussi des choses de l'autre coté.
- normelement, sur la majorité des pages, le coté à récuperer sera le coté gauche, mais il est également possible de trouver, dans le même fichier pdf, quelques pages où le coté à récupérer serait le droit (mauvais sens de la feuille avant numérisation).

c'est pour cela que l'onglet de pdfchain était intéressant.

du coup je pensais utiliser zenity pour faire des boites de dialogue simples.
boite 1 : sélection du fichier pdf à travailler
boite 2 : avec deux champs texte (numéro des pages dont il faut récupérer la partie gauche - numéro des pages dont il faut récupérer la partie droite)
pour ces zones de texte je pourrai peut être utiliser une syntaxe à la pdftk comme par exemple :
- 1-end ( pour dire de la page 1 à la dernière)
- 1 2-5 8-9 (pour dire page 1 ET page de 2 à 5 ET page 8 à 9)

que pensez vous de cette idée ? est ce d'après vous rélisable facilement ?


OS : Ubuntu gnome 14.04
Matériel : Ordi portable HP EliteBook 840 G1

Hors ligne

#8 Le 23/11/2015, à 22:37

Compte anonymisé

Re : Besoin aide développement "logiciel"

Bonsoir,

c'est surement réalisable, mais cela dépasse mes compétences. Je ne maîtrise pas assez les opérations sur les variables pour réaliser ceci. sad

Sinon :

1 tu retournes les pages "à l'envers" avec pdfchain. (je sais pas si ça retourne vraiment la page ou si ça indique juste aux viewers d'afficher la page à l'envers)
2 tu lances mon script imagegauche.sh (vu que les pages qui posait problème seront toutes retournées)

non?

EDIT : après essai, les images ne sont pas vraiment retournés donc ça marche pas sad

Dernière modification par Compte anonymisé (Le 23/11/2015, à 22:40)

#9 Le 23/11/2015, à 23:32

Arbiel

Re : Besoin aide développement "logiciel"

Bonsoir

Deux remarques

1) zenity peut avantageusement être remplacé par yad qui permet, dans un seul écran de dialogue, de saisir plusieurs champs, plutôt que d'enchaîner deux écrans successifs ;

2) compte tenu de la difficulté qui consistera à remettre les pages dans l'ordre si les parties gauches et droites sont traitées en deux passages successifs, il semble a priori plus facile d'étendre la formulation de pdftk avec l'adjonction d'un préfix G ou D pour désigner la partie souhaitée, (ou rien pour dire les deux parties, mais ce ne semble pas être un besoin actuel)

- G1-end ( pour dire les parties gauches de la page 1 à la dernière)
- 1 G2-5 D8-9 (pour dire la partie gauche puis la partie droite de la page 1 ET les parties gauches de la page de 2 à 5 ET les parties droites des pages 8 à 9)

Arbiel

P.S. un petit effort de relecture pour supprimer les fautes de frappe et d'inattention rendrait le texte plus plaisant à lire.


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#10 Le 24/11/2015, à 08:42

jeff22150

Re : Besoin aide développement "logiciel"

Bonjour.
Merci Abriel pour YAD et pour l'idée de mettre un champ unique pour les pages, je vais y réfléchir.
Je viens de tester YAD. Le problème est que je n'arrive pas à mettre dans la même boite de dialogue la sélection de fichier et le choix des pages. Est-ce vraiment possible (je sais que sous zenity ça ne l'est pas).
Voici le code de cette boite de dialogue YAD :

yad --title="Découpage d'un fichier A3" 
--form 
--file="fichier" 
--field="pages"

Question subsidiaire : pour ce fameux champs file, est-il possible de n'avoir qu'une ligne avec au bout un icône dossier sur lequel il faut cliquer pour parcourir l'arborescence ?

Merci de votre aide...
jeff22150


OS : Ubuntu gnome 14.04
Matériel : Ordi portable HP EliteBook 840 G1

Hors ligne

#11 Le 24/11/2015, à 11:26

Arbiel

Re : Besoin aide développement "logiciel"

Bonjour

Je viens de publier ici un script qui reclasse les pages d'un document recto-verso obtenu à partir d'un scanner uniquement recto, et qui nécessite donc le retournement du paquet de feuilles pour la photocopie des versos.

Tu y trouveras à la ligne 150 un exemple d'appel à yad.

Arbiel

Dernière modification par Arbiel (Le 24/11/2015, à 11:29)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#12 Le 24/11/2015, à 11:31

pge

Re : Besoin aide développement "logiciel"

Bonjour,

En ajoutant ":FL" (cf man yad), tu ouvres une boite de dialogue pour la sélection d'un fichier :

yad --title="Découpage d'un fichier A3" --form \
--field="Choisir un fichier:FL"  \
--field="Pages gauches" \
--field="Pages droites" \
--button="gtk-ok:0" --button="gtk-cancel:1"

pgen

Hors ligne

#13 Le 24/11/2015, à 11:42

jeff22150

Re : Besoin aide développement "logiciel"

Re.
Merci à pge pour l'histoire du --field="name:FL" au lieu d'utiliser --file

Abriel, au vu du traitement fait par pdfimages (toutes les images des pages sont numérotées dans l'ordre), je pense que mettre G ou D devant le numéro de page complexifie un peu la chose. Je me trompe peut être.

Je suis en train de travailler maintenant sur le script...
Je reviens vers vous dès que je l'ai finalisé.

cordialement
jeff22150


OS : Ubuntu gnome 14.04
Matériel : Ordi portable HP EliteBook 840 G1

Hors ligne

#14 Le 28/11/2015, à 06:53

jeff22150

Re : Besoin aide développement "logiciel"

Bonjour.
J'avance progressivement dans la création de ma petite application...
Je posterai sans doute bientôt le code.
Par contre j'ai une petite question : lorsque lance mon script à partir d'un terminal, à chaque ouverture d'une fenêtre "Yad", j'ai le message suivant qui s'affiche dans le terminal :

Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

Est-ce un message d'erreur ou est-ce normal ?
Si c'est un message d'erreur, quelqu'un connaît-il le moyen de ne plus avoir cette dernière ?

Merci d'avance.
jeff22150


OS : Ubuntu gnome 14.04
Matériel : Ordi portable HP EliteBook 840 G1

Hors ligne

#15 Le 28/11/2015, à 23:05

Arbiel

Re : Besoin aide développement "logiciel"

Bonsoir

D'après ce que je viens de lire dans les résultats d'une recherche (avec startpage - je boycotte google autant que je peux -), ce message peut provenir d'un problème de configuration, mis en évidence dans d'autres circonstances que yad. Cependant, il ne semble pas fatal (This is discouraged = ceci est déconseillé).

Il faudra voir ce qui se passe sur les PC de ceux qui testeront dans un environnement différent du tien.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne