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 11/01/2016, à 21:43

romain3434

changement d'échelle lors de l'impression d'un pdf en multipage

Bonjour,

Je ne parviens pas à modifier l'échelle d'impression d'un pdf lorsque je fais une impression multipage, c'est à dire que je souhaite imprimer deux pages sur une seul feuille de papier.

Cela ne fonctionne pas avec Okular.

En ligne de commande non plus:

lp -o landscape -o scaling=120 -o media=letter -o landscape -o sides=two-sided-long-edge -o number-up=2 -o page-border=none -o number-up-layout=rlbt "nom_du_fichier.pdf"

L'impression est bien recto-verso, avec deux pages par feuille mais aucun changement de taille n'est pris en compte.

Voilà, n'hésitez pas à souligner si mon problème n'est pas clairement écrit.

Lubuntu 15.10
4.2.0-23-generic
CUPS 2.1

Merci par avance de votre aide
romain

Dernière modification par romain3434 (Le 11/01/2016, à 21:44)

Hors ligne

#2 Le 22/01/2016, à 18:44

romain3434

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Bonjour à tous,

Je tente un up.

Personne n'imprime des pdf deux pages sur une feuille en recto verso? Pourtant c'est le temps de sauver des arbres smile Bon vous le faites peut être et vous êtes satisfaits de la taille du texte imprimé tandis que les pages sont imprimées trop petites. La police devient minuscule.

Peut être devrais-je configurer des marges plus petites?

j'ai testé sous windows la possibilité de changer l'échelle marche à partir des mêmes fichiers pdf.

Bonne journée

Romain

Hors ligne

#3 Le 22/01/2016, à 21:01

Compte anonymisé

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Bonjour,

je peux tenter de faire un script pour générer un pdf avec deux pages par feuille. Si ça vous tente, il faut que je sache l'ordre des pages (et éventuellement l'orientation) dans le pdf final. (je sais pas trop comment ton imprimante gère l'impression).

#4 Le 25/01/2016, à 17:58

romain3434

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Bonjour,

Merci pour votre très gentille proposition.

Ce sont des pdf d'article de revue qui sont majoritairement au format letter. Ce que je souhaiterais avoir c'est une impression au format paysage recto/verso avec deux pages à l'orientation portrait (dans la feuile elle paysage)
La page de gauche serait le numéro 1 et la page de droite 2 ...

Il faudrait que dans le script il y ait deux entrées
une pour le choix du fichier pdf IN
une autre pour le scalling, changement d'échelle
le fichier de sortie soit écrit dans /tmp
ce fichier de sortie passe ensuite dans la commande simple du type

lp -o landscape -o media=letter -o landscape -o sides=two-sided-long-edge -o page-border=none -o number-up-layout=rlbt "nom_du_fichier.pdf"

sleep de 40s
puis que le fichier crée dans /tmp soit effacé.

Qu'en pensez-vous?

Merci déjà de vous pencher sur le problème!!

Romain

Hors ligne

#5 Le 25/01/2016, à 19:04

Compte anonymisé

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Voici déjà une ébauche, ça à l'air de marcher pour des pdf qui ont toutes les pages en format portrait (ou toutes en paysage).

j'ai commenté pour bien comprendre chaque ligne. J'espère que ça peut vous convenir.

le script est à rendre exécutable et à placer dans /usr/local/bin (par exemple)

il prend comme argument un seul fichier.


#!/bin/sh
a=0
b=$(identify -format %n "$1") #nombre de page du pdf
while [ "$a" -lt "$b" ] #tant qu'on a pas atteint le nombre de page
do
convert "$1"[$a] 1.png #extrait premiere page
convert "$1"[$((a+1))] 2.png||convert -size $(identify -format %w 1.png)x$(identify -format %w 1.png) xc:white 2.png #extrait page +1 (sinon crée une page vide pour la dernière page)
montage -geometry 100% 1.png 2.png page.png #montage des 2 pages dans une nouvelle page
convert $temp page.png -quality 100 page.pdf #ajout de la nouvelle page au pdf de sortie
temp=temp.pdf;mv page.pdf $temp
a=$((a+2)) #passe au deux pages suivantes
done
mv -f $temp "${1%.*}"impression."${1##*.}"
rm -f 1.png 2.png page.png

#6 Le 26/01/2016, à 16:32

romain3434

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Bonjour,

Merci beaucoup Anonyme68 ,ça marche parfaitement bien de mon côté aussi.
Le texte est bien agrandi. Seulement la qualité est moins bonne.

le texte est un peu flou. Par conséquent la feuille est moins lisible.

Je me demande si en utilisant plutôt pdfcrop pour enlever les marges je garderai pas une meilleure qualité en conservant le texte plutôt qu'en passant par une conversion bitmap.

Je fais faire quelques essais et intégrer la commande pdfcrop à ton script si la qualité est satisfaisante.

Merci pour votre aide; je vois la solution approcher!

Romain

Dernière modification par romain3434 (Le 26/01/2016, à 16:32)

Hors ligne

#7 Le 26/01/2016, à 18:43

Compte anonymisé

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Bonjour,

le texte est plus flou parce que je n'ai pas préciser de densité (par défaut il utilise 72 dpi).

j'ai modifié pour que le résultat soit plus approprié pour l'impression.

#!/bin/sh
density=300
a=0
b=$(/usr/bin/identify -format %n "$1") #nombre de page du pdf
while [ "$a" -lt "$b" ] #tant qu'on a pas atteint le nombre de page
do
echo "page en cours : $((a+1)) et $((a+2)) sur $b"
convert -density $density "$1"[$a] 1.png #extrait premiere page
convert -density $density "$1"[$((a+1))] 2.png||convert -size $(identify -format %w 1.png)x$(identify -format %w 1.png) xc:white 2.png #extrait page +1 (sinon crée une page vide pour la dernière page)
montage -geometry 100% 1.png 2.png page.png #montage des 2 pages dans une nouvelle page
convert $temp page.png -quality 100 page.pdf #ajout de la nouvelle page au pdf de sortie
temp=temp.pdf;mv page.pdf $temp
a=$((a+2)) #passe au deux pages suivantes
done
mv -f $temp "${1%.*}"impression."${1##*.}"
rm -f 1.png 2.png page*.png

PS : si tu imprimes en plus que 300 dpi, libre à toi d'augmenter la valeur. A noter, plus la valeur est grande plus le temps de traitement sera long.

Dernière modification par Compte anonymisé (Le 26/01/2016, à 18:55)

#8 Le 26/01/2016, à 18:52

Compte anonymisé

Re : changement d'échelle lors de l'impression d'un pdf en multipage

si tu veux enlever les marges à partir de mon script

tu peux ajouter avant le 1.png et le 2.png des 2 premiers convert

-gravity center -crop 90%

90% étant le pourcentage de l'image finale restante (retire donc 5% à droite, gauche, en haut et en bas). Il faudra peut-être augmenter la densité d'autant.

Dernière modification par Compte anonymisé (Le 26/01/2016, à 18:52)

#9 Le 26/01/2016, à 19:06

Compte anonymisé

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Sinon je viens de me rendre compte que Libreoffice fait ça aussi.

Tu peux importer un pdf, et quand tu imprimes tu peux changer la mise en page et mettre 2 pages (ou plus) en 1. (bon sur un essai le rendu n'était pas génial)

#10 Le 27/01/2016, à 04:42

romain3434

Re : changement d'échelle lors de l'impression d'un pdf en multipage

Voici les tests

ton script (version 2) fonctionne très bien et la qualité est bonne même à 300 dpi
j'ai testé aussi pdfcrop et libreoffice 5

Sur ce fichier LibreOffice n'est pas très précis et certain ligne sont hors de la page. Cela nécessite une remise en page manuelle. Donc je laisse tomber la solution LibreOffice.

Taille du fichier original 1.4 Mo
script --------------- temps --------- taille fichier
anonyme68 ------ 3 min 5s ------ 39.4 Mo
pdfcrop ----------- 1.8 s ----------- 29.3 Mo

ces deux scripts me donnent un pdf aux dimensions (espace du texte dans la page) très proche.

Pdfcrop ne permet pas directement de mettre deux pages par feuille mais le fait d'enlever ou réduire les marges laisse plus de place pour le texte qui est alors plus gros. Donc l'effet de changement d'échelle fonctionne comme je le souhaitais quand je réalise l'impression via okular.

Cependant le fait d'éliminer les marges ne me permet pas d'augmenter autant que je le souhaite le changement d'échelle. La limite est l'absence de marge. En les éliminant via pdfcrop je gagne parfois 10 ou 15mm. Parfois j'ai besoin d'augmenter plus l'échelle.

Merci encore pour ton aide Anonyme68.
Je vais faire des tests avec pdfjam en cli pour voir

Hors ligne