Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2005, 18h18   #1
Invité de passage
 
Inscription : août 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 4
Points : 1
Points : 1
Par défaut Modifier un fichier spool d'impression

Bonjour à tous,

Mon problème est le suivant:

Je désire modifier un fichier spool d'impression en substituant des séquences ESCAPE par d'autres.
Je n'ai pas trouvé sous WINDOWS de programme me permettant une telle chose et développer un tel programme me parait très compliqué.

Par contre j'ai lu sur certains sites internet qu'il est possible sous un système LINUX de créer un script pour une imprimante donnée qui pourrai traiter le fichier spool avant de l'envoyer à l'imprimante.

Pour info:Les imprimantes sont des imprimantes reseaux PCL, (4 au total),et le PC LINUX ferai office de serveur d'impression et ne servirait qu'à celà.

Mes questions (désolé mais j'en ai plein):

1) Peut on utiliser un script pour faire ce que je désire?

2)Si oui est ce que les commandes internes de Linux suffisent ou faut il développer quelque chose en PERL en C ou autre ?

3)s'il faut développer n'étant pas développeur est ce envisageable par un novice?

4) LINUX utilise je croix le système CUPS pour imprimer or les infos que j'ai trouvé parle d'un spooleur de BERKELEY est ce que l'on peut utiliser un tel système sous LINUX si oui lequel? si non peut on utiliser un autre système UNIX gratuit?

C'est tout

Merci d'avance pour votre aide et merci de votre indulgence si mes questions vous paraissent stupide mais je n'ai pas de grandes connaissances en LINUX, j'essaye simplement de trouver une solution à mon problème par tous systèmes qui me parait envisageable
Jluck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2005, 21h24   #2
Membre Expert
 
Avatar de narmataru
 
Inscription : décembre 2002
Messages : 1 423
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : décembre 2002
Messages : 1 423
Points : 1 491
Points : 1 491
Bonjour,
Voici un peu de doc. Appremment ça parrait tout à fait possible

http://www.cups.org/doc-1.1/spm.html#WRITING_FILTERS
http://www.cups.org/doc-1.1/sam.html#FILE_TYPING_FILTERING

Je pense que tu peux créer un filtre en script shell utilisant une commande sed.
http://www.shellunix.com/sed.html

regarde comment faire une 'substitution' avec 's/motif/nouveau/g'
__________________
Reportage d'Arte sur Linux
narmataru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2005, 17h03   #3
Invité de passage
 
Inscription : août 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 4
Points : 1
Points : 1
bonjour narmataru,

Merci pour la bonne nouvelle et pour les infos, je vais potasser tout cela.
Jluck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2005, 17h08   #4
Expert Confirmé
 
Avatar de Katyucha
 
Inscription : mars 2004
Messages : 3 109
Détails du profil
Informations personnelles :
Âge : 31
Localisation : Allemagne

Informations forums :
Inscription : mars 2004
Messages : 3 109
Points : 3 313
Points : 3 313
Je me rappelle avoir du résoudre un problème d'impression avec des codes d'échappement. Faudrai retrouver les codes d'échappement pour le PCL5
J'avais fait un fichier avec les codes que je désirai et mon script était tout simple :
Code :
1
2
cat mes_codes mon_fichier > fichier_a_imprimer
lp -d blabla fichier_a_imprimer
Mais j'avais galérer pour trouver une doc sur les échappements pcl5
Katyucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2005, 00h00   #5
Invité de passage
 
Inscription : août 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 4
Points : 1
Points : 1
Bonjour Katyucha,

Dans mon cas je connais les sequences escape mais ils apparaissent plusieurs fois dans mon fichier spool et si je comprend ton script il s'agit en fait d'une concatenation de commandes escape que tu mets en entête et tu rajoutes ton fichier.Donc pas utilisable dans mon cas.

Mais merci pour l'info.

Par contre j'aurai plusieurs questions à te poser:
Dans ton cas comment a tu fais pour appliquer ce script lors d'une impression ?
Comment récupères tu le nom du fichier spool ?

Merci pour tes réponses
Jluck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2005, 09h17   #6
Expert Confirmé
 
Avatar de Katyucha
 
Inscription : mars 2004
Messages : 3 109
Détails du profil
Informations personnelles :
Âge : 31
Localisation : Allemagne

Informations forums :
Inscription : mars 2004
Messages : 3 109
Points : 3 313
Points : 3 313
C'était un programme que j'ai dev moi même.
Je générai un rapport SQL via Informix en fichier texte et j'utilisait le fichier de code pour imprimer en format paysage + pour imprimer en local (connexion a distance via modem rtc)
Katyucha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2005, 17h56   #7
Invité de passage
 
Inscription : août 2005
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 4
Points : 1
Points : 1
Par défaut solution

Bonjour à tous,

Merci à ceux qui ont tenté de m'aider.

Ayant trouvé une solution je vous la livre si cela peut interesser quelqu'un.

j'ai utilisé un LINUX redhat 8 et je l'ai paramétré pour utiliser LPRng et non CUPS.
Dans le fichier printcap j'ai créer manuellement une imprimante avec les paramètres suivants:

printer:\
:ml#0:\
:mx#0:\
:sd=/var/spool/lpd/printer:\
:sh:\
:rm="mon adresse IP":\
:rp=raw:\
:if=/var/spool/lpd/test.pl:


c'est ce dernier paramètre qui permet de dire au système qu'a chaque fois qu'un spool arrive sur mon imprimante il le traite avec le programme perl "test.pl".

le programme test.pl contient les lignes suivantes:


#!/usr/bin/perl
while (<STDIN>){
s/"commande recherchée"/"nouvelle commande"/g;
print $_;
};


et le tour est joué.
Jluck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h10.


 
 
 
 
Partenaires

Hébergement Web