web-dev-qa-db-fra.com

Comment imprimer un fichier PostScript dans Evince à l'aide d'une présentation de brochure?

J'ai une sortie PostScript d'une page de manuel produite par man -t ssh > man_ssh.ps. Il s'ouvre pour être visualisé dans Evince Document Viewer. Je souhaite l’imprimer sur une imprimante prenant en charge l’impression recto verso. Donc, je voudrais l’imprimer en mode "brochure" - c’est-à-dire que, lorsque quatre pages d’un document sont imprimées sur une seule feuille, de sorte que, lorsque les feuilles sont pliées en deux, les numéros de un document est comme dans un livret. Comment puis-je imprimer le document de cette façon dans Evince?

UPD: Il reste une question: comment rendre man -t la sortie conforme à la mise en page des brochures - c’est-à-dire des marges intérieures plus larges, rendant les pages 'gauche' et 'droite'?

4
mbaitoff

On dirait qu'actuellement il n'y a aucun moyen d'imprimer des pages en mode brochure (livret) ni dans Evince ni dans Xpdf. Il existe une semi-solution pour utiliser l'utilitaire psbook du package pstools qui réorganisera et affichera les pages dans le fichier postscript afin qu'elles passent en mode livret. Veuillez noter l’option -s de la psbook, qui contrôle le nombre de pages d’origine pouvant être insérées dans un livret. Ceci est utile lorsque vous souhaitez imprimer un grand nombre de pages qui ne seront pas pliées en une fois, mais en plusieurs sous-livrets. Par exemple, un document de 120 pages figurerait par défaut dans une brochure de 30 feuilles, ce qui est difficile à plier. En utilisant le psbook -s 24, vous obtiendrez 120/24 = 5 brochures en 6 feuilles faciles à plier puis à combiner.

Notez également que la sortie de man -t n’est pas bien préparée pour l’impression de brochures - les numéros de page se trouvent du côté "droit", pas du côté "extérieur", et les marges des pages "gauche" et "droite" sont identiques au lieu de la marge "intérieure" est plus grande que "extérieure" et les pages ne sont pas classées comme "à gauche" et "à droite". Discussion sur la façon de modifier la sortie de man -t va ici .

1
mbaitoff

J'ai trouvé un moyen de configurer CUPS pour qu'il appelle pdfbook pour moi. Le processus se résume à ce qui suit:

  1. Sur votre serveur CUPS (par exemple, http://localhost:631), créez une copie de la configuration de l'imprimante pour laquelle vous souhaitez activer l'impression de brochures. Appelons la nouvelle imprimante "Print-booklet".

  2. Éditez /etc/cups/ppd/Print-booklet.ppd en tant que racine. Ajoutez la ligne suivante, par exemple, avant l'entrée *cupsFilter: *cupsPreFilter: "application/pdf 0 booklettopdf".

  3. (Cette étape est un peu compliquée, peut-être que cela peut être fait de manière plus propre.) Dans /usr/lib/cups/filter, créez le script booklettopdf (en tant que root):

    #!/bin/sh
    for e in "$@"; do echo DEBUG: $0: $e 1>&2; done
    TMPFILE=$(mktemp)
    echo DEBUG: $0: $TMPFILE 1>&2
    if [ "$6" = "" ]; then
        cat
    else
        cat "$6"
    fi | pdfbook --scale 0.97 --outfile $TMPFILE && cat $TMPFILE && rm $TMPFILE
    
  4. Rendre le script exécutable: chmod +x booklettopdf.

  5. Imprimez une page de test.

Maintenant, chaque fois que vous souhaitez imprimer au format brochure, choisissez la nouvelle imprimante "Brochure d'impression".

La cupsPreFilter est un extension CUPS PPD , et il semble que le format application/pdf apparaisse toujours dans la chaîne de filtres (Ubuntu 12.10, peut-être plus tôt?).

Je voterais pour l'intégration de cette fonctionnalité dans CUPS.

2
krlmlr