@Moderatoren.
Was machen wir eigentlich mit dem Druckerforum.

zum Problem:

  • 12" (Zoll) Endlos ergibt bei 6 LPI 72 Zeilen.

  • A4 (11,7" x 8,27") ergibt bei 6 LPI max. 70 Zeilen bzw. bei 10 CPI 82 Zeichen in der Breite. Abzüglich des nicht bedruckbaren Bereichs bei Laserdruckern, i.d.R. eine Zeile bzw. ein-zwei Spalten links/rechts, erhält man 68/69 Zeilen bzw. 78/79 Zeichen in der Breite.
    Ich persönlich beschränke mich bei A4 auf 68 Zeilen (6 LPI) bzw. 78 Zeichen (10 CPI).
    Damit liege ich bei den meisten Laserdruckern richtig.


Anbei einige WSCST Befehle:
Drucker Init mit A4 Format.
Code:
    :INITPRT                                            
/*    DATA ='1B45'X.              */                    
      DATA ='1B451B266C323641'X.     /* PAGE SIZE A4 */
Ändern Hochformat/Querformat :
(Bsp immer Hochformat)
Code:
    :PRTORIENT                                          
      ORIENT=PORTRAIT                                   
      DATA ='1B266C304F'X.                              
    :PRTORIENT                                          
      ORIENT=LANDSCAPE                                  
/*    DATA ='1B266C334F'X.   */                         
      DATA ='1B266C304F'X.      /* IMMER HOCHFORMAT */
Ändern Zeilenabstand :
(Bsp. 6,86 LPI, ergibt ca. 78/79 Zeilen auf A4)
Code:
    :VARLSPC                                                   
      VAROFFSET=    3                                          
      VARLEN=    3                                             
      VARTYPE=CHRDEC                                           
      CNVNUM=    1                                             
      CNVDEN=   48                                             
/*    DATA ='1B266C00000043'X.  */                             
      DATA ='1B266C000000431B266C362E383643'X. /* 6,86 LPI */
Wobei '362E3836' die ASCII-Zeichen für 6.86 sind.

Das Problem mit dem Zeichenabstand, kannst du mit CPICOR Lösen :
(CHGPRTF PAGRTT(*COR))
Code:
    :CPICOR                                     
      CPI=10                                    
/*    ASCIIFNT=  255   */                       
/*    FNTWTH=   84     */                       
      ASCIIFNT=  85       /* 12 CPI */          
      FNTWTH=   120       /* 1440 | 12 = 120 */ 
      FNTATR=    1                              
      DATA =''X.                                
    :CPICOR                                     
      CPI=12                                    
/*    ASCIIFNT=  255   */                       
/*    FNTWTH=   84     */                       
      ASCIIFNT=  230      /* 15 CPI */          
      FNTWTH=   96        /* 1440 | 15 = 96 */  
      FNTATR=    1                              
      DATA =''X.                                
    :CPICOR                                     
      CPI=15                                    
      ASCIIFNT=  254      /* 17.1 CPI */        
      FNTWTH=   85        /* 1440 | 17.1 = 85 */
     FNTATR=    1  
     DATA =''X.
Wenn dur die STD-*WSCST-Objekte verwenden willst, findest du diese hier zum jeweiligem Drucker :

http://www-912.ibm.com/s_dir/slkbase...f?OpenDocument

Generell ist aber wichtig, das deine PRTF-Parameter zur physikalischen Seitengrösse passen, damit deine Druckausgaben korrekt erscheinen :

- Seitenbreite Seitenlänge, Überlauf - PAGESIZE
- Seitendrehung - PAGRTT
- Schriftart - CPI

z.B.
Sind viele PRTF mit 132 Zeichen in der Breite definiert, obwohl der Inhalt der Liste nur 70 Zeichen enthält - HPT macht dann i.d.R. eine Seitendrehung. Ein OVRPRTF wirkt hier Wunder.
Oder die Liste war ursprünglich für 12" Endlospapier bestimmt und soll nun aus A4 gedruckt werden. Auch hier kann man mit OVRPRTF arbeiten oder ggf. in Kombination mit einer Anpassung des WSCST-Objekts (VARLSPC)