OVH Cloud OVH Cloud

Découper et rassembler des PDF

58 réponses
Avatar
Olivier Miakinen
[diapublications dans deux groupes, suivi vers fcolc seul, mais
il vaudrait peut-être mieux choisir fcal -- changez le suivi si
ça vous semble préférable]

Bonjour,

J'ai numérisé des recueils de partitions afin d'en faire des PDF
imprimables pour un ensemble vocal(¹). Le scanner me permet de
numériser les pages deux par deux, et il crée un PDF d'une page
par scan (sauf une fois où, sans que je comprenne pourquoi, il
a mis deux résultats de scan dans un PDF de deux pages).

Bref, pour un recueil de 7 pages, j'obtiens par exemple quatre PDF
contenant ceci :

+----+----+-+
| | | |
| | p1 | |
| | | |
+----+----+-+

+----+----+-+
| | | |
| p2 | p3 | |
| | | |
+----+----+-+

+----+----+-+
| | | |
| p4 | p5 | |
| | | |
+----+----+-+

+----+----+-+
| | | |
| p6 | p7 | |
| | | |
+----+----+-+

Je voudrais alors obtenir un seul PDF de sept pages :

+----+ +----+ +----+ +----+ +----+ +----+ +----+
| | | | | | | | | | | | | |
| p1 | | p2 | | p3 | | p4 | | p5 | | p6 | | p7 |
| | | | | | | | | | | | | |
+----+ +----+ +----+ +----+ +----+ +----+ +----+

Je voudrais savoir ce que vous me conseilleriez, sur Linux, pour le
faire le plus simplement possible. Vu que certains recueils peuvent
avoir beaucoup de pages, si c'était possible avec un outil en ligne
de commande plutôt qu'avec un cliquodrome ce serait encore mieux
(mais si ça n'existe pas, tant pis).

Pour fixer les idées, voici un exemple d'un PDF obtenu en sortie de
numérisation : <http://www.cjoint.com/15mi/EEvxS4BptI5_doc49.pdf>.

Cordialement,
--
Olivier Miakinen

Note (¹) : Pour ceux qui s'en inquièteraient, ce n'est pas illégal. En
effet, l'ensemble vocal a signé une convention avec la SEAM permettant,
avec un abonnement dépendant du nombre de choristes, d'acheter une seule
partition et d'en faire autant de photocopies qu'il y a de choristes :
<http://www.seamfrance.fr/les-conventions/chorales/>.

8 réponses

2 3 4 5 6
Avatar
Max
Le 22/05/2015 19:19, Olivier Miakinen a écrit :
Bonjour,

Le 22/05/2015 14:29, Kevin Denis m'a répondu :

Imagemagick sait utiliser le format pdf et peut concaténer/découper
des pdfs.
< http://codetheory.in/convert-split-pdf-files-into-images-with-imagemagick-and-ghostscript/ >
la commande convert peut en plus utiliser des numéros de page
convert toto.pdf[1,3] page1et3.pdf



Ah oui, ça m'a l'air très bien, d'autant qu'avec la commande
convert on commence par extraire l'image qui se trouve dans
le PDF. Je ne peux pas essayer tout de suite, mais je le fais
dès que possible.



Bonjour,

Si tu peux extraire les images des pdf et les redécouper, tu pourras en
faire un cbz (c'est juste un zip) que tu pourras lire avec evince.

@+
--
Les escargots n'aiment pas les Français. C'est pourquoi les Français
doivent se méfier des escargots qui, sous des dehors bon enfant, cachent
en réalité une âme de fauve prêt à bondir.
Pierre Desproges
Avatar
Olivier Miakinen
Bonjour,

Le 02/06/2015 12:28, Lucas Levrel m'a répondu :

Ça y est, j'ai fait quelques essais (en laissant les options angle et
clip mais pas viewport).



Comme tu as déjà découpé avec pdfcrop, pas besoin de clip.



Ok, je viens de le retirer. Comme prévu ça ne change rien au résultat.

---------------------------------------------------------------------
documentclass{minimal}
usepackage[a4paper,centering,height€0pt,widthQ0pt]{geometry}
usepackage{graphicx}
begin{document}
raggedbottom
centering
includegraphics[angle=0,clip]{03}par
includegraphics[angle=-0.5,clip]{04}par
includegraphics[angle=-0.3,clip]{05}par
includegraphics[angle=-0.4,clip]{06}par
includegraphics[angle=-0.4,clip]{07}par
includegraphics[angle=-0.5,clip]{08}par
includegraphics[angle=-0.4,clip]{09}par
includegraphics[angle=-0.5,clip]{10}par
end{document}
---------------------------------------------------------------------

C'est bô ! Par contre, comme je le craignais ça rajoute une marge
de chaque côté des pages, alors que le résultat était bon après les
pdfcrop.



Je pense que je n'ai pas compris ce que tu voulais faire au final. Pour
moi, tu voulais imprimer sur du A4 sans agrandir. Du coup j'ai mis
« a4paper » et défini une zone de texte de la taille des morceaux découpés.

Quel résultat veux-tu obtenir ?



J'aimerais que chaque page dans partoche.pdf ait la même taille que
celle qu'elle avait dans 03.pdf, 04.pdf, ... 10.pdf (qui sont déjà
chacun au format A4).

Au cas où ça ne serait pas clair, voici 03.pdf et partoche.pdf sur
cjoint. Attention, comme je ne suis pas censé avoir le droit de
diffuser ces partitions en dehors de notre chœur, je leur ai mis
une durée de validité de 4 jours. Au besoin, si quelqu'un n'a pas
eu le temps de regarder, je les remettrai sur cjoint.

03.pdf (première page) :
http://www.cjoint.com/c/EFcuZgepMnZ

partoche.pdf (toutes les pages) :
http://www.cjoint.com/c/EFcu07D0eYZ

P.-S. : je n'ose pas encore faire suivre vers fr.comp.text.tex car
je n'ai pas lu les autres articles du groupe.



Ne t'inquiète pas, ils sont très gentils !



Je n'en doute pas, mais je suis un vieux c** d'Usenet, qui n'écrit pas
dans un nouveau groupe avant d'y avoir « lurké » un certain temps. ;-)
Bon, d'un autre côté, je ne suis pas censé non plus écrire dans fcolc
si c'est en charte ailleurs... je suis plein de contradictions !

Allez, je lis fctt maintenant pour pouvoir y faire suivre la discussion
aussi vite que possible.

Cordialement,
--
Olivier Miakinen
Avatar
Olivier Miakinen
Bonjour,

Le 02/06/2015 22:38, Max m'a répondu :

Si tu peux extraire les images des pdf et les redécouper, tu pourras en
faire un cbz (c'est juste un zip) que tu pourras lire avec evince.



Vu que la plupart des autres membres du ch½ur n'utilisent pas Linux,
est-ce qu'ils pourront tout aussi facilement que moi avec evince lire
les fichiers cbz et les imprimer, voire les afficher sur leur téléphone
de dernière génération ?

Cordialement,
--
Olivier Miakinen
Avatar
Lucas Levrel
Le 2 juin 2015, Olivier Miakinen a écrit :

J'aimerais que chaque page dans partoche.pdf ait la même taille que
celle qu'elle avait dans 03.pdf, 04.pdf, ... 10.pdf (qui sont déjà
chacun au format A4).

Au cas où ça ne serait pas clair, voici 03.pdf et partoche.pdf



C'qu'est pas clair, c'est que d'après mon evince le format de 03.pdf est
174 x 262 mm, ce qui est loin d'être du A4 !

Si ta version papier est en A4, ça s'rait-i' pas le scanner qui a réduit ?

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Olivier Miakinen
Le 03/06/2015 19:53, Lucas Levrel a écrit :

J'aimerais que chaque page dans partoche.pdf ait la même taille que
celle qu'elle avait dans 03.pdf, 04.pdf, ... 10.pdf (qui sont déjà
chacun au format A4).

Au cas où ça ne serait pas clair, voici 03.pdf et partoche.pdf



C'qu'est pas clair, c'est que d'après mon evince le format de 03.pdf est
174 x 262 mm, ce qui est loin d'être du A4 !



Bon sang, tu as raison, et gv donne 494x744 au lieu de 595.276x841.89 .
J'étais pourtant sûr d'avoir vérifié. :-(

Si ta version papier est en A4, ça s'rait-i' pas le scanner qui a réduit ?



Non, la version papier était inférieure à A4. Et je suis en train de me
demander si ce n'est pas ma cervelle qui a réduit, depuis que j'essaye
de comprendre tout ça...

Du coup, sachant que 595/494 > 841/744, serait-il possible d'agrandir
le résultat d'un facteur 841/744, ce qui donnerait une image de
dimensions 558x841 à centrer horizontalement dans la page A4 595x841 ?

... euh...

Oui, je crois que j'ai trouvé ! J'ai mis height„1pt,widthY5pt
comme paramètres du usepackage{geometry}, puis j'ai rajouté un
scale=1.12 à tous les includegraphics :

----------------------------------------------------------------------
documentclass{minimal}
usepackage[a4paper,centering,height„1pt,widthY5pt]{geometry}
usepackage{graphicx}% paquet qui permet d'inclure des PDF (entre autres)
begin{document}
raggedbottom
centering
includegraphics[scale=1.12,angle=0]{03}par
includegraphics[scale=1.12,angle=-0.5]{04}par
includegraphics[scale=1.12,angle=-0.3]{05}par
includegraphics[scale=1.12,angle=-0.4]{06}par
includegraphics[scale=1.12,angle=-0.4]{07}par
includegraphics[scale=1.12,angle=-0.5]{08}par
includegraphics[scale=1.12,angle=-0.4]{09}par
includegraphics[scale=1.12,angle=-0.5]{10}par
end{document}
----------------------------------------------------------------------

Visuellement, le résultat est parfait. Peut-être que ma solution est
mauvaise parce que j'ai essayé ça un peu au hasard sans vraiment lire
la doc (chose que je déteste faire en général), mais j'espère que tu
sauras rectifier si j'ai mal fait. N'hésite pas à faire suivre vers
fr.comp.text.tex au besoin, maintenant j'ai lu suffisamment d'articles
dans ce groupe.

====
Eh bien dis donc, Lucas, la première fois où tu m'as répondu d'aller
voir du côté de TeX, j'ai presque cru que tu étais tombé sur la TeTe,
mais je me rends compte maintenant à quel point je me trompais.
Je te dois vraiment un grand merci pour avoir eu la patience de me
guider pour mes premiers pas dans le monde merveilleux de LaTeX !
Maintenant il faut que je me mette à l'utiliser pour écrire des
documents en texte et plus seulement des découpages d'images.

Cordialement,
--
Olivier Miakinen
Avatar
Lucas Levrel
Le 4 juin 2015, Olivier Miakinen a écrit :

Si ta version papier est en A4, ça s'rait-i' pas le scanner qui a réduit ?



Non, la version papier était inférieure à A4. Et je suis en train de me
demander si ce n'est pas ma cervelle qui a réduit, depuis que j'essaye
de comprendre tout ça...



Pas grave, un coup de scale pour la remettre à la taille de la boîte qui
l'entoure...

Du coup, sachant que 595/494 > 841/744, serait-il possible d'agrandir
le résultat d'un facteur 841/744, ce qui donnerait une image de
dimensions 558x841 à centrer horizontalement dans la page A4 595x841 ?

... euh...

Oui, je crois que j'ai trouvé ! J'ai mis height„1pt,widthY5pt
comme paramètres du usepackage{geometry}, puis j'ai rajouté un
scale=1.12 à tous les includegraphics :



Il y a même mieux sans faire de calcul : les options height et width pour
includegraphics. Si tu n'en mets qu'une, le rapport d'aspect est
conservé. Ici tu mettrais height car tu sais que la largeur finale sera
inférieure à celle de la page.

Et il y a encore mieux ! Quand on a la flemme de calculer le rapport
d'aspect, on spécifie : height=, width=, et keepaspectratio.

(En fait, comme tu fais des rotations il vaut mieux utiliser totalheight
que height.)

Visuellement, le résultat est parfait. Peut-être que ma solution est
mauvaise parce que j'ai essayé ça un peu au hasard sans vraiment lire
la doc (chose que je déteste faire en général),



Normal, il n'y a pas grand monde qui aime lire la doc. :-D

Je te dois vraiment un grand merci pour avoir eu la patience de me
guider pour mes premiers pas dans le monde merveilleux de LaTeX !
Maintenant il faut que je me mette à l'utiliser pour écrire des
documents en texte et plus seulement des découpages d'images.



Je t'en prie, et à bientôt donc sur fctt !

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)
Avatar
Olivier Miakinen
Bonjour,

Je voulais essayer ce dont tu me parles dans cet article avant de
répondre, mais je n'ai pas encore eu le temps de le faire.

Juste une chose :

Le 04/06/2015 15:04, Lucas Levrel m'a répondu :

Visuellement, le résultat est parfait. Peut-être que ma solution est
mauvaise parce que j'ai essayé ça un peu au hasard sans vraiment lire
la doc (chose que je déteste faire en général),



Normal, il n'y a pas grand monde qui aime lire la doc. :-D



En fait c'est l'inverse : ce que je déteste faire, c'est tester des
trucs au hasard au lieu de lire la doc. Mais là j'étais un peu pressé
par le temps car les choristes attendaient les partitions.

[...] à bientôt donc sur fctt !



Je n'y manquerai pas. Mes prochaines questions seront là-bas, c'est
promis.

Cordialement,
--
Olivier Miakinen
Avatar
olivier
Olivier Miakinen écrivait :

On peut préférer passer moins de temps dans le local du scanner au prix de
devoir laisser l'ordinateur mouliner un peu, c'est un compromis intéressant
selon les circonstances.



E-xac-te-ment !!! Je n'aurais pas mieux dit.



+1
(aucun scrupule à répondre 3 mois après pour un metoo :-) )
2 3 4 5 6