User Tools

Site Tools


doc:appunti:prog:duplex

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:prog:duplex [2017/06/14 11:24] niccolodoc:appunti:prog:duplex [2017/06/14 11:50] (current) – [Stampanti PCL] niccolo
Line 17: Line 17:
 Ci sono altri driver GhostScript che producono job PCL, ad esempio **pcl3** e **lj5gray**. Il primo non accetta il parametro **-dDuplex**, il secondo lo accetta, ma il job risultante viene stampato senza fronte-retro (testato su Brother MFC-L5750DW e Xerox Phaser 3300MFP). Ci sono altri driver GhostScript che producono job PCL, ad esempio **pcl3** e **lj5gray**. Il primo non accetta il parametro **-dDuplex**, il secondo lo accetta, ma il job risultante viene stampato senza fronte-retro (testato su Brother MFC-L5750DW e Xerox Phaser 3300MFP).
  
 +**ATTENZIONE**: in genere **non funziona** incapsulare un job PCL dentro ad un job PJL (vedere più avanti come si fa con i job PostScrip per aggiungere l'opzione duplex), questo perché il job PCL prodotto dal GhostScript include al suo interno i comandi per resettare tutte le opzioni di alto livello della stampante.
 ===== Stampanti PostScript ===== ===== Stampanti PostScript =====
  
 +Ci sono diversi driver GhostScript che producono job PostScript: **psmono** è disponibile con GhostScript 8.71, **ps2write** è invece la versione più recente disponibile in GhostScript 9.20. Entrembi i driver //psmono// e //ps2write// producono documenti PostScript 3.0, il primo di tipo **PS 3.0 Level 1**, mentre il secondo **PS 3.0 Level 2**. Purtroppo alcune stampanti (es. Brother MFC-L5750DW) non sono in grado di interpretare il Level 2.
  
 +Per attivare la stampa duplex è possibile incapsulare il job PostScript in un job **PJL** (Printer Job Language), solitamente supportato dalle stampanti che supportano PostScript e PCL.
  
 +I comandi PJL sono terminati con **<CR><LF>** (0x0D 0x0A), ma il <CR> è facoltativo.
 +
 +Prima di inviare un comando PJL è buona norma inviare alla stampante l'**Universal Exit Language command**, cioè una sequenza preceduta dal carattere ESC (0x1B). L'UEL non prevede il <CR><LF> a fine linea, per convenienza di solito ci si accoda un comando PJL vuoto.
 +
 +Ecco quindi uno script che aggiunge il duplex ad un job PostScript:
 +
 +<code bash>
 +#!/bin/bash
 +
 +(
 +echo -e '\e%-12345X@PJL'                # Send the Universal Exit Language (UEL) command
 +echo '@PJL JOB'                         # Begin of PJL job
 +echo '@PJL SET DUPLEX=ON'               # Set duplex printing
 +echo '@PJL ENTER LANGUAGE=POSTSCRIPT'   # PostScript document
 +gs -sDEVICE=ps2write -sPAPERSIZE=a4 -q -sOutputFile=- -dNOPAUSE -dBATCH input_file.pdf
 +echo -e '\e%-12345X@PJL'                # UEL command
 +echo '@PJL EOJ'                         # Endo of job
 +echo -en '\e%-12345X'                   # UEL command
 +) > output_file.ps
 +</code>
doc/appunti/prog/duplex.1497432261.txt.gz · Last modified: 2017/06/14 11:24 by niccolo