• [^] # Re: Postscript

    Posté par (Mastodon) . En réponse au message Problème d'impression d'un document LaTeX A5 sur A4. Évalué à 4.

    J'ai réussi avec ces outils, et pas mal de bidouille aussi, parce que c'est tordu.
    psbook c'est super bien, je faisais la découpe et la réorganisation des pages à la main, avec pdftk par exemple pour extraire les pages du PDF et en recréer dans un ordre pour livret. psbook il fait ça super bien et tout seul :)
    Mais bon, le problème n'était pas précisément là...
    En fait la solution a été « psresize ».

    Premier problème en fait : avoir un postscript qui soit vraiment en A5, dvips ou même pdftops ont tendance à sortir un postscript au format A4 avec la page A5 coincée en haut à gauche.
    On s'en sort avec une option de pdftops (je n'ai pas (encore ?) trouvé son équivalent dans dvips).
    pdftops -expand -paper match fichier.pdf fichier.ps
    Là on a un joli postscript équivalent au DVI ou au PDF générés par LaTeX. C'est beau, c'est propre...
    psbook ensuite crée le livret, aucun soucis de ce côté là : psbook -s16 fichier.ps livret.ps
    livret.ps est encore au format A5, toujours propre, jusque là on est heureux, mais à l'impression ça explose toujours.

    psnup m'a toujours sorti un fichier postscript qui avait les mêmes problèmes que l'impression : des pages A5 posées sur du A4, le A4 réduit en A5 et composé en deux pages par page : échec...

    La solution est venue de psresize :
    psresize -Pa5 -pa4 livret.ps livretA4.ps
    Cet outil va agrandir ma page A5 pour qu'elle soit au format A4, en zoomant comme il faut, c'est là le miracle, j'ai ma belle page d'origine mais juste plus grande et considérée comme A4, mais un A4 propre, comme le DVI ou le PDF d'origine, victoire !
    Bon, pas tout à fait : quand on regarde le fichier livretA4.ps on se rencontre que le fichier lui-même est toujours en A5, avec nos nouvelles pages redimensionnées en A4 dedans, donc c'est tronqué de partout : on voit juste le centre de la page.
    Mais ça ce n'est pas grave, ces formats ne perdent pas l'information hors des limites du document, donc ma page est encore entière c'est juste qu'onlui demande d'afficher un bout au format A5 au milieu.

    Et ça s'arrange comme ça :
    ps2pdf -sPAPERSIZE=a4 livretA4.ps imprimable.pdf
    En fait on peut mêmeglisser le psnup entre les deux dernières commandes :
    psnup -2 livretA4.ps livretA4-2p.ps , qui sort un postscript avec deux pages sur une, prêt à l'impression, mais toujours défini comme étant A5, avec des pages A4 dedans, donc tronqué à l'affichage. Là on refait la manip ps2pdf -sPAPERSIZE=a4, et on a un PDF imprimable directement en recto-verso sans avoir besoin d'un logiciel comme okular ou hp-toolbox ou que sais-je pour imprimer deux pages sur une...

    Je n'ai pas réussi à remettre le format du postscript en A4 correctement pour le moment, je ne vois pas comment faire avec pstops, donc on revient à un PDF à l'arrivée.
    Il est probable en fait que ce dernier fichier postscript s'imprime correctement sur papier A4, mais je n'ai pas testé.

    Bref, merci beaucoup !

    Yth.


    f=`basename fichier.tex .tex`
    s=16
    pdflatex $f.tex
    pdftops -expand -paper match $f.pdf $f.ps
    psbook -s$s $f.ps ${f}-livret.ps
    psresize -Pa5 -pa4 ${f}-livret.ps ${f}-livret-A4.ps
    psnup -2 ${f}-livret-A4.ps ${f}-livret-A4-2p.ps
    ps2pdf -sPAPERSIZE=a4 ${f}-livret-A4-2p.ps ${f}-imprimable.pdf

    lpr ${f}-imprimable.pdf