Obligement - L'Amiga au maximum

Jeudi 28 mars 2024 - 18:54  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : Imprimer du PDF avec Ghostscript 8
(Article écrit par Jean-Yves Auger - avril 2004)


Avec Ghostscript 6.50, APDF décodait très mal les PDF et leur impression fonctionnait rarement. Mais cela a changé avec la version 8 de Ghostscript qui sait décoder les PDF (plus d'exception) et les imprime (c'est rapide en plus).

Attention tout de même car Ghostscript 8 vient avec son lot de surprises : il n'y a pas d'installation (tout se fait à la main), il n'y a aucune explication claire (comme d'habitude) ce qui engendrera des heures de réglages.

L'installation

Allez sur le site www.whoosh777.pwp.blueyonder.co.uk et prenez les archives du programme (gs813release020fpu.lha ou gs813release020nofpu.lha selon si vous avez ou non une FPU), les bibliothèques (gs813lib.lha), les polices de caractères (gs813fonts.lha), les ressources (gs813resource.lha) et la documentation (gs813doc.lha - facultative).

Créez ensuite un répertoire (GS813) et décompressez-y toutes les archives. Faites enfin des assignations comme suit :

assign GS813: "HD1:gs813"
assign GS8Data: "HD1:gs813/lib"
assign GS8Fonts: "HD1:gs813/fonts"
assign GS813Resource: "HD1:gs813/resource"

Note : HD1: est un exemple ici, adaptez le nom en fonction de votre configuration.

Redémarrez et c'est tout.

L'impression

Créez un fichier PDF puis tapez la ligne suivante sous un CLI :

set print 1
set window 0
stack 200000
GS813:bin/gs -sDEVICE=tp8 -g2480x3366 -r300 -dFirstPage=001 -dLastPage=999 -dBATCH -dNOPAUSE -q nom_du_fichier_PDF

Les chiffres 2480 et 3366 expriment la taille d'une page A4 en 300 DPI (bonne qualité d'impression) sur une imprimante HP Lj 5L, si vous voulez ajuster selon votre imprimante voici la base du calcul :

Largeur : 21 cm / 2,54 pouces x 300 DPI = 2480.
Longueur : 28,5 cm / 2,54 pouces x 300 DPI = 3366 (c'est un peu moins haut qu'une page A4 à cause du type d'imprimante : HP LJ 5L avec 1,6 cm de marge obligatoire en haut).

Pour augmenter la qualité, changer le 300 par 600.

Une fois la ligne de commande entrée, vous aurez, après quelques secondes, l'impression de toutes les pages.

La visualisation

La ligne de commande change :

set print 0
set window 1
stack 200000
GS813:bin/gs -sDEVICE=whoosh24 -r72 -dFirstPage=001 -dLastPage=999 -dBATCH -dNOPAUSE -q et le nom du fichier PDF

Toutes ces manipulations sont contournables par un programme avec GUI en ARexx : GS8Gui, mais il faudra tout de même Ghostscript 8.x (logique), MUI (indispendable) et RxMui (utile pour plein de raisons, surtout celle de ne plus taper une commande à la main ou presque).

Tout ceci est en ARexx, vous n'aurez pas de mal à transposer la ligne de commande pour imprimer depuis DOpus, Final Writer, PageStream ou tous les programmes ARexx en fait.

Voici un exemple RXMui (PDFPrint.rexx) pour imprimer depuis un gestionnaire de fichier (DOpus, Filemaster, etc.), il suffit de taper à la main ou via un programme : "rxs PDFPrint + nom du fichier PDF".

/********************************************/
/* $VER: PDF printer via Ghostscript 8, version 1.0
- www.Pixel-Art.fr.st */

parse arg global.source

l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
if AddLibrary("rxmui.library")~=0 then exit

call CreateApp
call HandleApp
/* never reached */
/******************************************/
HandleApp: procedure expose global.

    ctrl_c=2**12
    do forever

 call NewHandle("app","h",ctrl_c)
 if and(h.signals,ctrl_c)>0 then exit
 select
     when h.event="QUIT" then exit
     otherwise interpret h.event
 end
    end
    /* never reached */
/******************************************/
CreateApp: procedure expose global.

    app.Title="PopaslExample"
    app.Base="usb"
    app.SubWindow="win"
     win.ID="MAIN"
     win.Title="PDF Printer"
     win.Contents="MGROUP"

     mgroup.0="ctrlg"
       ctrlg.class="group"
       ctrlg.frame="group"
       ctrlg.Columns=1

     mgroup.0="popf"
  popf.class="group"
  popf.0=Button("texte","Cliquez ici pour lancer l'impression")

     res=NewObj("APPLICATION","APP")
     call set("win","open",1)

     call Notify("win","CloseRequest",1,"app","ReturnID","quit")
     call Notify("texte","pressed","0","app","return","call PDF()")

return
/******************************************/
PDF: procedure expose global.

   call set("texte","contents","En cours...")

   Open(fiche,"T:Tmp",'Write')
      WriteLN(fiche,"SET print 1")
      WriteLN(fiche,"SET window 0")
      WriteLN(fiche,"stack 200000")
      WriteLN(fiche,"GS813:bin/gs -sDEVICE=tp8 -g2480x3366 -r300
-dFirstPage=001 -dLastPage=999 -dBATCH -dNOPAUSE -q "||global.source)
   Close(fiche)

   address command 'Execute T:Tmp'

   call set("texte","contents","Impression en cours")

   exit

return

/******************************************/


[Retour en haut] / [Retour aux articles]