J'ai un script de travail bash qui convertit les fichiers texte en postscript à l'aide de l'enscript 1.6.5.90-2 sur Kubuntu 14.04.
Plusieurs autres choses améliorent l'aspect de la sortie, telles que la définition de marges, le contour des lignes, etc. (c'est pourquoi j'ai besoin de Enscript au lieu d'outils d'impression plus simples.)
Le script affiche actuellement un titre dans l'en-tête de la page, mais maintenant, j'ai également besoin d'un pied de page.
Est-ce que n'importe qui peut me montrer un courant exemple de travail utilisant enscript pour produire des lignes de pied de page?
Je vois --footer = FOOTER dans la page de manuel, mais je vois aussi que la hauteur par défaut du pied de page est de zéro point. J'ai essayé plusieurs façons de faire imprimer des pieds de page. Aucun d'entre eux ne génère de message d'erreur, mais ils n'impriment pas non plus les pieds de page.
Je n'ai pas de place pour tout ce que je veux voir dans l'en-tête seul, alors je dois en mettre une partie dans le pied de page.
Je crois que si vous voulez des pieds de page, vous devez écrire un fichier hdr personnalisé, puis le sélectionner avec l'option --fancy-header
. J'ai écrit un (ci-dessous) qui peut fonctionner pour vous.
Il y a un rapport de bogue vieux de neuf ans sur ce problème. L'approche de ce rapport de bogue tente une solution plus complète et nécessite de recompiler enscript
. Mon approche n'est pas aussi complète mais élimine le besoin d'une nouvelle compilation.
Ce fichier d'en-tête est basé sur simple.hdr
. Pour l'utiliser, copiez-le et collez-le dans un fichier nommé, par exemple, simple2.hdr
, puis, pour une utilisation à l'échelle du système, placez-le dans le répertoire /usr/share/enscript
. Pour une utilisation personnelle, il peut être placé dans le répertoire ~/.enscript/
:
% -- code follows this line --
%Format: fmodstr $D{%a %b %d %H:%M:%S %Y}
%Format: pagenumstr $V$%
%HeaderHeight: 38
%FooterHeight: 15
/do_header { % print default simple header
% Footer
gsave
d_footer_x d_footer_y HFpt_h 3 div add translate
HF setfont
user_footer_p {
d_footer_x d_footer_y moveto user_footer_left_str show
d_footer_w user_footer_center_str stringwidth pop sub 2 div
0 moveto user_footer_center_str show
d_footer_x d_footer_w add user_footer_right_str stringwidth pop sub
d_footer_y moveto user_footer_right_str show
} if
grestore
% Header
gsave
d_header_x d_header_y HFpt_h 3 div add translate
HF setfont
user_header_p {
5 0 moveto user_header_left_str show
d_header_w user_header_center_str stringwidth pop sub 2 div
0 moveto user_header_center_str show
d_header_w user_header_right_str stringwidth pop sub 5 sub
0 moveto user_header_right_str show
} {
5 0 moveto fname show
45 0 rmoveto fmodstr show
45 0 rmoveto pagenumstr show
} ifelse
grestore
} def
L'utilisation est assez simple. Vous pouvez ensuite l'invoquer avec quelque chose comme:
enscript --fancy-header=simple2 --header="HEADER" --footer="LEFT|CTR|RIGHT"
Notez que, bien que enscript
prenne en charge de nombreux jeux de caractères, il ne prend pas en charge UTF-8. Les fichiers qui ne font pas partie d'un jeu de caractères pris en charge de manière native peuvent être filtrés via iconv
avant de les transmettre à enscript
.