Utilisation avancée de GhostScript et de GSView

L'une des déceptions des utilisateurs de distributions commerciales ou basées sur les progiciels RPM réside dans l'absence des dernières versions de Ghostscript (GS). Vu la différence entre les licences GhostScript AFPL et GPL, le dernier affiche en général un an de retard sur le second. Du fait des restrictions d'utilisation d'AFPL, la plupart des distributions Linux contiennent l'ancien GPL GhostScript avec de nombreusesrustines.

Comme la configuration des ressources (où l'utilisateur indique l'emplacement des polices et des "fontmaps") de GS 8.x est nouvelle, il est inutile de télécharger la dernière archive et de reconstruire le RPM à partir de celle-ci. Dieu sait que j'ai essayé sur RedHat, et que je me considère comme bien informé sur la construction de progiciels RPM. Si vous avez déjà observé le contenu du fichier .spec de RedHat ou Suse pour le RPM de GhostScript, vous savez de quoi je parle. ;)

Alors, pourquoi tous ces soucis, uniquement pour utiliser la toute dernière version de GS ? Ce n'est pas compliqué :

  1. GS 8.x bénéficie d'améliorations substantielles dans la gestion des fichiers EPS et PDF, offrant les fonctionnalités avancées dont peuvent tirer parti Scribus ou d'autres applications de PAO. La version de GS peut dans certains cas influer sur les capacités d'importation EPS et PS de Scribus.
  2. Vous pouvez ainsi compiler l'outil avec toutes les optimisations possibles, accélérant les processus d'impression et d'affichage des séparations de couleur sous Scribus. Bon nombre de distributions le compilent uniquement avec les instructions i386, ce qui profite certainement davantage aux anciennes machines.Cela est probablement plus avantageux sur les vieux postes de travail que sur les nouveaux. Le traitement d'image est un domaine où les optimisations de compilation ont un effet véritable.
  3. La dernière version de GS rend Gsview (et Scribus) plus robuste et plus efficace dans la gestion des fichiers EPS et de leur variante nommée DCS 2.0.
  4. Scribus et GSview ont tous deux la possibilité de positionner dans leurs préférences des emplacements alternatifs pour GS et les bibliothèques GS.

Alors, comment faire pour installer la dernière version de GS sous Scribus et Gsview - sans altérer la configuration d'impression ? Le secret : une installation parallèle de GS.

Avertissement : Cette approche fonctionne chez moi. Mais cela pourrait faire planter votre système ou vous importuner de quelque manière.

Premières étapes :

./configure --enable-compile-inits -with-x

Par défaut, 'make install' installera tous les fichiers dans '/usr/local/bin', '/usr/local/lib' etc. Vous pouvez spécifier votre propre préfixe d'installation autre que '/usr/local' par le biais de '--prefix', par exemple :

--prefix=$HOME

Ce préfixe par défaut fonctionne bien en général et permet de conserver deux GS distincts.

Étapes suivantes :

En deuxième lieu, compilez GhostScript en tant que bibliothèque partagée, indispensable pour Gsview :

make so

et, en tant que root :

make soinstall

Maintenant, une vérification rapide :

/usr/local/bin/gs -h

Vous devriez obtenir une sortie telle que celle-ci :

AFPL Ghostscript 8.51 (2005-04-18)
Copyright (C) 2005 artofcode LLC, Benicia, CA.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q        'quiet', fewer messages
 -g<width>x<height>  page size in pixels   | -r<res>  pixels/inch resolution
 -sDEVICE=<devname>  select device         | -dBATCH  exit after last file
 -sOutputFile=<file> select output file: - for stdout, |command for pipe,
                                         embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: x11
Available devices:
   bbox bit bitcmyk bitrgb bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256
   bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor cdjmono
   cljet5 cljet5c deskjet devicen djet500 epswrite faxg3 faxg32d faxg4 ijs
   jpeg jpeggray laserjet lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d
   ljetplus nullpage pbm pbmraw pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono
   pdfwrite pgm pgmraw pgnm pgnmraw pj pjxl pjxl300 pkm pkmraw pksm pksmraw
   png16 png16m png256 pngalpha pnggray pngmono pnm pnmraw ppm ppmraw
   psdcmyk psdrgb psgray psmono psrgb pswrite pxlcolor pxlmono spotcmyk
   tiff12nc tiff24nc tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack
   uniprint x11 x11alpha x11cmyk x11gray2 x11gray4 x11mono xcf
Search path:
   . : /home/peter/.fonts : /usr/local/share/ghostscript/8.51/lib :
   /usr/local/share/ghostscript/8.51/Resource :
   /usr/share/ghostscript/fonts

Assurez-vous des points suivants :

  1. Vous obtenez la version correcte de GS. Dans le cas contraire, vous devez ajuster votre variable $PATH
  2. Vous voyez les périphériques pngalpha et x11, ainsi que bitcmyk pour la visualisation CMJN et png16m.
  3. Le chemin de recherche des polices semble raisonnable. Vous obtiendrez des erreurs sous Scribus, en important des fichiers EPS et lors de l'aperçu avant impression, si ce chemin n'est pas correct et si GS ne trouve pas les polices. GS détermine le chemin de recherche à partir d'un fichier appelé Fontmap. Ce réglage est expliqué dans la documentation de GS.

Si vous avez peur d'interférer avec votre système de paquets, utilisez checkinstall ou Xstow. Ces programmes gardent la trace des applications installées en dehors de votre système de paquets. J'ai utilisé checkinstall avec succès sur des systèmes RedHat.

Ensuite, s'il est installé, lancez GSview et allez dans le menu Options > Advanced Configure. Là, assurez vous que le champ "Ghostscript Shared Object" pointe vers le bon libgs.so. Ci-dessous, voici comment j'ai configuré Gsview sur mon système :

GSview - Fenêtre d'options avancées

Enfin, vous devez indiquer à Scribus où trouver le nouveau GS. Pour ce faire, ouvrez le menu Fichier > Préférences. >Général. Ensuite, dans outils externes, établissez le chemin de l'interpréteur PostScript.

Préférences d'outils externes dans Scribus

Un autre outil disponible avec GSview est epstool. Une ancienne version est fournie avec GSview 4.6, mais une version plus récente est disponible sur le site de GSview. Il s'agit d'un superbe outil en ligne de commande capable de réaliser des conversions avancées EPS/DCS 2.0. C'est particulièrement utile lorsque l'on vous envoie un fichier EPS en provenance d'autres outils de PAO - même ceux créés sur Mac. La mise à jour est recommandée afin d'avoir, avec GSview, un excellent support sous Linux des fichiers EPS de toutes plates-formes. Outil recommandé.

Enfin, un dernier outil, fonctionnant comme plugiciel de GSview : pstoedit Il s'agit d'un outil en ligne de commande permettant la conversion d'images bitmap vers des formats vectoriels et PostScript, qui peuvent ensuite, en fonction de la nature de l'image, être édités avec des outils d'imagerie vectorielle tels Inkscape ou Skencil. Reportez-vous à la section Astuces d'importation pour des détails sur l'utilisation de pstoedit afin de convertir le logo Scribus au format SVG, puis comme fichier natif Scribus. GSview utilise pstoedit comme plugiciel pour convertir les fichiers PostScript vers des formats vectoriels.

GSview s'est avéré, d'après mon expérience, le plus fiable et le plus polyvalent des visionneurs EPS/PS sous Linux. Répond-il aux attentes ? Eh bien, il suffit de dire qu'il est installé sur toutes les stations de PAO sous Windows que je supporte chez mes clients. Pour la PAO avec Scribus, je le considère comme essentiel.