3270 列印問題
3270 資料流程不是針對比例字型所設計。 這可能會導致某些列印工作發生問題,導致字元重迭。 [列印伺服器屬性] 頁面的進階設定可讓您設定主機列印服務,以使用不同的定位字元方法。
表單摘要的問題
主機列印服務常見的問題之一是 (FF) 的額外或遺漏表單摘要。 其中一些問題牽涉到 SNA 列印處理明確表單摘要的方式。 其他問題與使用每頁的行數取代 FF 字元有關,造成分頁符號 (表單摘要) 。
當主機列印服務在主機資料流程中收到 FF 字元 ('0x0C') 時,它會保留此字元,直到收到其他資料為止,控制程式代碼 (SCS 或 3270 訂單) 或可列印的字元。 如果收到其他資料,則會將 FF 傳送至印表機,並處理其他資料。 如果未收到進一步的資料,表示我們在作業結束時,就會卸載 FF。 此時,SNA 列印會針對不使用 PDT 或EndDocPrinter的會話呼叫EndDoc來完成未完成的作業,以用於使用 PDT 的會話。 呼叫 EndDoc 時,會將 FF 新增至作業的結尾。 呼叫 EndDocPrinter 時,不會新增 FF。 在此情況下,SNA Print 是否會在作業結尾新增 FF,取決於 PDT 中設定END_JOB參數的方式。 使用 PDT 的替代方法是變更 Windows Printer 屬性中列印處理器的預設資料類型。 如果預設資料類型設定為 RAW [auto FF],則列印驅動程式會檢查 FF 是否存在,並視需要新增一個。
使用 PDT 時,可能會強制 SNA 列印不會卸載最終的 FF。 這需要將登錄專案 FlushFF 新增並設定為 TRUE。
FlushFF: REG_SZ
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
SnaPrint
Parameters
作業結束時的 FF | PDT | 已新增 FF | 結束結果 |
---|---|---|---|
是 | No | Yes | FF |
No | No | Yes | FF |
Yes | 是 | No | (取決於 PDT) |
No | 是 | No | (取決於 PDT) |
許多較舊的主機列印工作依賴每頁的行數來判斷分頁符號。 例如,作業會在每個頁面上使用 66 行,因此在文字後面新增足夠的空白行,讓行總數帶入 66,再開始下一頁的文字。 如果有 30 行的文字,則會在預定下一頁的文字之前新增 36 個空白行。 此方法的缺點是取決於印表機的可列印範圍、每英吋的線條、每頁的線條,以及為作業設定的上邊界。 如果預設只有 65 行符合每頁,產生的列印輸出會顯示「頁面 creep」,其中最後一個空白行會推送至下一頁頂端,然後將兩行推送至第三頁頂端,依此類推。 您可以在 PDT 檔案內修正這個「頁面擷取」,方法是將START_JOB參數設定為零,而每頁的行數設定為 66。 此外,印表機會話屬性應該將每英吋的線條設定為 6。
例如,使用 HP PCL 的印表機,下列專案會新增至 PDF:
在宏區段中:
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 */
針對 [開始作業]
START_JOB = TOP0 STL
主機列印服務的設計目的是在符合下列任一條件時,執行 FF (FF) 包含在 LU 3 列印工作中的表單摘要:
如果在 3270 Erase/Write 或 Erase/Write Alternate 命令中,將 FF 插入為 WCC 之後的第一個字元。
如果 FF 位於有效的 NL 之後, (新行) 順序。
如果 FF 位於任何列印行的最後一個可列印字元位置之後。
登錄專案可供使用,可強制主機列印服務接受 LU 3 列印工作中的所有表單摘要字元,即使它們不符合上述條件也一樣。 若要新增這個專案,請使用 Regedit.exe 尋找下列索引鍵:
HKEY_LOCAL_MACHINE
SYSTEM
CurrentControlSet
Services
SnaPrint
Parameters
將下列專案新增至此機碼:
Value Name:
Data Type:
String:
DoAllLU3FF 應該設定為 TRUE。 系統會檢查此登錄專案是否存在。 針對字串輸入的任何值都會啟用這項功能。