CUPS impression compressée

1

Notre application envoie des fichiers ASCII à l’imprimante. Cette application indique avec Ctrl-O au démarrage que l’imprimante doit imprimer sur 132 colonnes. Je peux définir une imprimante pr01 pour l’impression 80 colonnes et pr01-132 pour l’impression 132 colonnes et définir les options par défaut en conséquence.

lpoptions -p pr01-132 -o cpi=16.6 -o lpi=10

Ce que j'essaie de faire, c'est lorsque j'envoie un travail, le spouleur doit prendre pr01-132 lorsque le premier caractère du fichier est un Ctrl-O, sinon pr01.

Comment puis-je faire cela avec CUPS?

PeterMmm
la source

Réponses:

2

Votre application semble confuse quant à la responsabilité de déterminer le rendu du document. Le fait qu’il précède le document avec un caractère SI indique qu’il essaie de contrôler le rendu lui-même - [SI] sélectionne l’impression en mode condensé sur un IBM DMP (requise pour l’impression sur 132 colonnes en mode portrait). En supposant que votre imprimante soit configurée et prend en charge l’émulation IBM, il s’agit simplement de configurer un nouveau périphérique dans des cups à l’aide du pilote générique ASCII.

Si vos imprimantes ne prennent pas en charge l'émulation IBM et que le pilote générique ne fonctionne pas comme prévu, vous devrez probablement effacer le fichier [SI] du fichier. Consultez ce document pour savoir comment écrire votre propre filtre. Il décrit le processus pour un fichier DVI - mais le principe est le même: inventez d’abord un type MIME pour vos fichiers, dites application / vnd.local.proprinter, puis configurez une recette pour mapper les «octets magiques» au type MIME (voir /etc/cups/mime.types) écrivez ensuite un script pour effacer le [SI] et le convertir en ps (man a2ps).

symcbean
la source