Rediriger l'impression vers un fichier image (ou pdf)

Bjr,
Sous MS-Windows, il existe des soft (gratuits) qui permettent de rediriger les données destinées à l’imprimante vers un fichier PDF (exp : PDF Creator)
Existe-il un truc similiaire en UNIX ? Ce que je cherche à faire c’est imprimer un HMTL en PDF ou même en JPEG si c’est possible !
J’ai testé html2ps et html2jpg : très limités :frowning:

Peut-être que le paquet cups-pdf peut répondre à ton attente. Il permet de rajouter une pseudo imprimante pdf

[quote]PDF printer for CUPS
CUPS-PDF provides a PDF Writer backend to CUPS. This can be used as a
virtual printer in a paperless network or to perform testing on CUPS.

Documents are written to a configurable directory (by default to ~/PDF)
or can be further manipulated by a post-processing command.

Homepage: cip.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/[/quote]

Voilà le commentaire donné par synaptic.

Il s’installe comme si on installait une imprimante.

Le plus simple que je fais tous les jours ou presque depuis + de 5 ans est d’imprimmer sur fichier à destination d’une imprimante postscript classique (voire générique) puis
$ ps2pdf fichier.ps fichier.pdf
fait la conversion.

[quote=“fran.b”]Le plus simple que je fais tous les jours ou presque depuis + de 5 ans est d’imprimmer sur fichier à destination d’une imprimante postscript classique (voire générique)
fait la conversion.[/quote]
avec quelle commande / programme ? sachant que mon but c’est d’intégrer ça dans une page web, donc il faudrait que cette commande soit possible en shell (pour que je puisse ensuite créer un CGI )

j’ai installé cups-pdf :

tout c’est bien déroulé
Ensuite j’ai lancé ceci :

il parait que ça prend en compte la nouvelle imprimante !
Bref, maintenant comment je fais pour l’utiliser ?
J’ai testé ceci :

mais ça n’a rien donné !!!
J’ai aussi testé ceci :

vds29:/home/web/html_pdf# print test.html > test.ps Error: no "print" mailcap rules found for type "text/html"

Non, la commande pour imprimer un fichier est «lpr»

Personnellement, je n’aime pas bien cups qui est aussi incomprhensible que Windows Printing System. J’utilise lprng+printtools et paquets associés.

Pour répondre à tes questions en MP ou ici, le format largement répandu pour imprimer est le format Postscript. La plupart des programmes permettent une impression sur fichier (exemple: menu Firefox->Fichier->Imprimer, cocher Fichier, etc). Si tu as sélectionné une imprimante Générique ou Postscript standard, le fichier (avec une extension .ps en général) est un fichier Postscript. Tu peux

  1. L’imprimer sur une imprimante Postscript en l’envoyant directement dessus
  2. Le transformer en pdf (ps2pdf fichier.ps fichier.pdf)
  3. L’imprimer sur une imprimante non postscript en le passant à travers un filtre. par exemple ceux de magicfilter ou de printfilters-ppd.

Si c’est bien fait,

lpr toto.jpg
lpr toto.dvi
lpr toto.pdf
lpr toto.ps
lpr toto

fait passer le fichier à travers des filtres le transformant en postscript (le type de fichier est identifié avec les «magic numbers» au début du fichier donbc l’extension est inutile) et l’imprime correctement.

Sinon, tu as aussi OpenOffice qui permet d’exporter en format pdf. C’est ce que j’utilise, et c’est encore plus simple.

Je me connecte à mon serveur avec putty, donc je ne peux travailler que sous le shell !
j’ai tapé $lpr mais ça n’a rien donné (comme introuvable)
j’ai donc fais $apr-get install lpr
ça a installé un truc, et maintenant la commande lpr est reconnue
Ensuite je fais $lpr toto.html
et ça ne donne rien dans le dossier courant !

ps2pdf fonctionne trés bien. Si tu veux fabriquer des fichiers postscript sur ton windows, il te suffit de prendre le pilote PS que tu souhaites, et de le rediriger vers un port file.
Aprés, tu peux transfèrer ton impression sous linux avec scp (ou pscp si tu utilises putty), et le passer par ps2pdf.
Mais c’est un peu laborieux, et il me semble que la solution de gingko, cups-pdf serait plus adaptée (c’est l’equivalent de pdfprint sous win, mais avec la commande lpr).
Par contre, il faut peut être encore un peu de configuration une fois installé le paquet, parceque l’impression n’est pas sans coutûres, sous lin).

pr est la commande pour imprimer un fichier (sur imprimante donc). Imprimer sur fichier revient à faire un fichier postscipt si tu veux. Donc dans ce cas, tu as les utilitaires ps du paquet gs-common.

MattOTop >
je n’ai meme pas réussi à avoir un ps, alors le pb n’est pas la conversion ps -> pdf, mais imprimer un fichier en ps !
En plus, je ne veux pas créer des fichier sous windows et les envoyer sur mon serveur, je cherche à créer le ps directement depuis le serveur ! J’ai essayé avec cups-pdf, je l’ai configuré mais je ne sais pas comment l’utliser :frowning:

fran.b >
la commande pr n’a rien donné
stp tu peux m’expliquer pas à pas comment imprimer dans un fichier ps ? que faut-il installer sur le système ? et comment imprimer ?
PS : je ne peux travailler que sous shell

Arg, désolé, j’ai cru écrire «lpr». Je voulais dire «la commande lpr est la …»

Pour le reste tout dépend de ton fichier. Imprimer sur fichier revient à fabriquer un .ps

Pour imprimer un fichier texte sur fichier, il n’y a rien à faire…

Pour imprimer un fichier .tex sur fichier, tu peux faire

$ latex fichier.tex
$ dvips fichier.dvi

par exemple.

Pour imprimer une image, tu peux faire
$ convert image.jpg image.ps

etc.

A chaque fois le fichier .ps est un fichier Postscript qui peut être immédiatement envoyer sur une imprimante Postscript. lpr est à trois étages:

  1. conversion du fichier en fichier .ps, cela se fait à partir de filtres faisant eux même appel aux programmes ci dessus. gimp, firefox, etc gèant + ou - directement cette étape ne font pas appel à cette fonctionnalité.

  2. conversion du .ps en instruction pour l’imprimante. Si l’imprimante est postscript, il n’y a rien à faire. gimp devrait sauter cette étape et gérer directement l’imprimante en fonction de son GAMUT afin de rendre correctement les couleurs. J’ignore complètement si gimp imprime en utilisant un profil couleur standard de l’imprimante (ce serait décevant) ou si il utilise le profil de l’imprimante pour optimiser le rendu des couleurs.

  3. Envoi des instructions vers l’imprimante.

Imprimer sur un fichier consiste à faire l’étape 1 ou éventuellement l’étape 1+2. Je ne sais pas faire dans ce deuxième cas d’où mes explications de début de message. Je sais qu’on peut utiliser Openoffice et Gimp en ligne de commande donc on doit pouvoir également les faire imprimer sur fichier en ligne de commande mais je ne sais pas faire.

[quote=“sami_c”]MattOTop >
je n’ai meme pas réussi à avoir un ps, alors le pb n’est pas la conversion ps -> pdf, mais imprimer un fichier en ps !
En plus, je ne veux pas créer des fichier sous windows et les envoyer sur mon serveur, je cherche à créer le ps directement depuis le serveur ! J’ai essayé avec cups-pdf, je l’ai configuré mais je ne sais pas comment l’utliser :frowning: [/quote]
AMA c’est comme la configuration d’une imprimante cups standard.
As tu installé une interface de config de cups, comme gnome-cups-manager qtcups (kde doit être branchée sur cups naturellement, aussi).
Une fois installée, si tu n’a pas d’autre imprimante, c’est vers ce pilote qu’ira l’impression lpr. Sinon, cups est aussi configurable par interface web, mais je crois que par defaut cette interface n’est accessible qu’en local, et je ne me souviens plus du port à attaquer: :631 (peut être).
Mais il y a qqchose qui me turlupine: tu dis que tu ne peux pas utiliser openoffice, parceque tu travailles en ssh sur ton serveur. Mais est ce que tu sais que tu peux disposer d’un serveur X sous windows avec Cygwin, et travailler sous windows avec le contenu de tes fenètres linux qui s’executent sur ton serveur ?

Ah :open_mouth: j’en étais resté aux serveurs X plus ou moins bancals et chers… Un peu de recherche et http://x.cygwin.com/ Je serais moins bête ce soir…

est-il possible d’imprimer un fichier HTML ? bien sûr par imprimer je veux dire imprimer dans un fichier.

Ah :open_mouth: j’en étais resté aux serveurs X plus ou moins bancals et chers… Un peu de recherche et http://x.cygwin.com/ Je serais moins bête ce soir…[/quote]
je ne peux pas utiliser d’interface graphique, mon but étant de lancer l’impression dans un fichier ps par une page web !

et alors ? tu peux faire tourner en affichage sur ton client un firefox qui s’execute sur ta machine linux et imprime donc dans l’environnement linux sur la machine linux configurée avec une imprimante pdf virtuelle linux qui produit des fichiers dans ton repertoire linux. :wink:
Comme VNC ou le Remote Connection windows, mais fenètre par fenètre.

Sinon tu as html2ps qui te convertit une page ps en html…

tu as lu l’ouverture du fil ? :mrgreen:
toi aussi tu survoles en assénant tes soluces rapide sans tout lire ?

:unamused: si je suis entrain de chercher à imprimer dans un ps, c’est parceque html2ps ne me suffit pas, il ne fait pas de bonnes conversions, par exemple il ne reconnait pas les images de fond (et aussi couleurs de fond) des cellules…