Problemi di stampa 3270
Il datastream 3270 non è stato progettato per i tipi di carattere proporzionale. Ciò può causare problemi in alcuni processi di stampa, causando la sovrapposizione di caratteri. Le impostazioni avanzate della pagina Proprietà server di stampa consentono di configurare il servizio stampa host per usare un metodo diverso di posizionamento dei caratteri.
Problemi relativi ai feed di moduli
Un problema comunemente visto con il servizio di stampa host è extra o mancante feed di moduli (FF). Alcuni di questi problemi comportano il modo in cui SNA Print gestisce i feed di moduli espliciti. Altri problemi si riferiscono all'uso del numero di righe per pagina, al posto di un carattere FF, per causare un'interruzione di pagina (feed di moduli).
Quando il servizio di stampa host riceve un carattere FF nel flusso di dati host ('0x0C'), contiene questo carattere finché non riceve dati aggiuntivi, codici di controllo (SCS o 3270 ordini) o caratteri stampabili. Se riceve dati aggiuntivi, il FF viene inviato alla stampante e i dati aggiuntivi vengono elaborati. Se non vengono ricevuti altri dati, ovvero alla fine del processo, il FF viene eliminato. A questo punto, la stampa SNA completerà il processo in sospeso chiamando EndDoc per le sessioni non usando un PDT o EndDocPrinter, per le sessioni che usano un PDT. Quando EndDoc viene chiamato, viene aggiunto un FF alla fine del processo. Quando EndDocPrinter viene chiamato, non viene aggiunto alcun valore FF. In questo secondo caso, se SNA Print aggiunge un FF alla fine del processo dipende dal modo in cui il parametro END_JOB è configurato nel PDT. Un'alternativa all'uso di PDT consiste nel modificare il tipo di dati predefinito per il processore di stampa nelle proprietà di Windows Printer. Se il tipo di dati predefinito è impostato su RAW [auto FF], il driver di stampa verifica la presenza di un FF e ne aggiunge uno se necessario.
È possibile forzare SNA Print a non eliminare il FF finale quando si usa un PDT. È necessario aggiungere la voce FlushFF del Registro di sistema e impostare su TRUE.
FlushFF: REG_SZ
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
SnaPrint
Parameters
FF alla fine del processo | PDT | Aggiunta di FF | Risultati finali |
---|---|---|---|
Sì | No | Sì | FF |
No | No | Sì | FF |
Sì | Sì | No | (dipende da PDT) |
No | Sì | No | (dipende da PDT) |
Molti processi di stampa host meno recenti si basano sul numero di righe per pagina per determinare le interruzioni di pagina. Si supponga ad esempio che un processo userà 66 righe per pagina, quindi aggiungere righe vuote sufficienti dopo il testo per portare il numero totale di righe a 66 prima di iniziare il testo che dovrebbe trovarsi nella pagina successiva. Se sono presenti 30 righe di testo, verranno aggiunte 36 righe vuote prima del testo previsto per la pagina successiva. Lo svantaggio di questo metodo dipende dall'area stampabile della stampante, dalle linee per pollice, dalle righe per pagina e dal margine superiore impostato per il processo. Se per impostazione predefinita solo 65 righe si adattano per pagina, la stampa risultante mostrerà "scorrimento pagina", dove l'ultima riga vuota viene spostata nella parte superiore della pagina successiva e quindi due righe nella parte superiore della terza pagina e così via. Questo "scorrimento pagina" può essere rimediato all'interno del file PDT avendo il parametro START_JOB impostare il margine superiore su zero e le righe per pagina su 66. Inoltre, le proprietà Della sessione stampante devono avere le linee per pollice impostate su 6.
Ad esempio, con una stampante che usa HP PCL, verranno aggiunti al PDF:
Nella sezione macro:
TOP EQU 1B 26 6C 30 45 /* Top Margin set to 0 */
STL EQU 1B 26 6C 36 36 46 /* Set Text Length to 66 */
Per Avviare il processo
START_JOB = TOP0 STL
Il servizio di stampa host è progettato per eseguire un feed di moduli (FF) incluso in un processo di stampa LU 3 quando vengono soddisfatte una delle condizioni seguenti:
Se il FF viene inserito come primo carattere dopo il WCC in un comando alternativo 3270 Cancella/Scrittura o Cancella/Scrittura.
Se il FF si trova dopo un ordine NL (Nuova riga) valido.
Se il FF si trova dopo l'ultima posizione di caratteri stampabile di qualsiasi riga di stampa.
È disponibile una voce del Registro di sistema che forza l'onore di tutti i caratteri del feed di moduli in un processo di stampa LU 3, anche se non soddisfano le condizioni precedenti. Per aggiungere questa voce, trovare la chiave seguente usando Regedit.exe:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
SnaPrint
Parameters
Aggiungere la voce seguente a questa chiave:
Value Name:
Data Type:
String:
DoAllLU3FFs deve essere impostato su TRUE. Il sistema verifica se esiste questa voce del Registro di sistema. Qualsiasi valore immesso per la stringa abiliterà questa funzionalità.