HP-GL/2 警告
重要
新式列印平臺是 Windows 與印表機通訊的慣用方法。 我們建議您使用Microsoft的 IPP 收件匣類別驅動程式,以及列印支援應用程式 (PSA),自定義 Windows 10 和 11 中的列印體驗,以進行印表機裝置開發。
如需詳細資訊,請參閱 新式列印平臺 和 列印支援應用程式設計指南。
HP-GL/2 僅適用於隨附於 Windows XP 和更新版本的作業系統版本的 Unidrv 版本(Windows XP Unidrv 是指隨附於 Windows XP 的驅動程式檔案集 -- unidrv.dll、unidrvui.dll、unires.dll 和 stdnames.gpd)。 它不適用於 Windows 2000 Unidrv。 如果執行 Windows 2000 的電腦上存在 Windows XP 版本的 Unidrv(例如,當 Windows 2000 計算機建立點並列印連線到執行 Windows Server 2003 或更新版本的計算機時),則驅動程式會使用 HP-GL/2。
啟用 HP-GL/2 模式時,會忽略 GPD 中的某些轉譯命令。 相反地,會使用驅動程式中的硬式編碼命令。 不過,這些命令必須存在於 GPD 中,原因如下:
在更新版本的作業系統中,可能會移除轉譯命令的硬式編碼。
HP-GL/2 驅動程式提供切換至點陣模式的選項(也就是不使用 HP-GL/2 驅動程式)。 針對點陣模式,所有命令都必須存在於 GPD 中。
良好的經驗法則是,任何用來實際繪製事物的 PCL-XL/HP-GL/2 命令(例如 CmdDownloadPattern 或 CmdSelectBlackBrush)會被忽略。 不會忽略頁面設定、檔設定和其他不是繪圖命令的命令。 如需這些命令的詳細資訊,請參閱 色彩命令。
此外,驅動程式中的所有 HP-GL/2 命令都會硬式編碼。
在呼叫 DrvBitBlt 和其他位區塊傳輸函式時收到的遮罩可能無法正常運作。
當 Windows 2000 上使用 Windows XP Unidrv 並啟用 HP-GL/2 時,某些圖形轉譯函式可能無法正常運作。 例如,DrvGradientFill 呼叫的輸出會反轉紅色和藍色。
Unidrv 假設印表機硬體支援 ROP 命令。 如果印表機不支援 ROP,某些檔案可能無法正確列印。
需要支援影線筆刷。 如果印表機不支援影線筆刷,則輸出取決於印表機硬體如何處理影線筆刷選取命令 (FT21,x SV21,x)。
單色列印機會忽略影線筆刷的色彩。 它總是列印為黑色。
對於彩色印表機,HP-GL/2 僅支援 24 bpp/600 dpi。 對於單色印表機,HP-GL/2 僅支援 600 dpi。 如果您的印表機支援其他值,則只有在色彩深度為 24 bpp 且解析度為 600 dpi 時,才會限制選擇 HP-GL/2 模式。 下列範例示範如何修改 GraphicsMode 功能來完成這項作業。 在此範例中,如果解析度功能的Option2值不是600x600 dpi,則第一個 *條件約束專案會導致 Unidrv 拒絕模式變更為 HPGL2MODE。 (在此範例中,假設 Option2 值是一些較低的解析度,例如 300x300 dpi。如果 ColorMode 功能的選項為 Color 或 8bpp,第二個 *條件約束專案會導致 Unidrv 拒絕模式變更。
*Feature: GraphicsMode { *rcNameID: =GRAPHICSMODE_DISPLAY *FeatureType: DOC_PROPERTY *HelpIndex: 12000 *DefaultOption: HPGL2MODE *Option: HPGL2MODE { *rcNameID: =GRAPHICSMODE_HPGL2_DISPLAY *Constraints: Resolution.Option2 *Constraints: LIST(ColorMode.Color, ColorMode.8bpp) } *Option: RASTERMODE { *rcNameID: =GRAPHICSMODE_RASTER_DISPLAY } }
彩色印表機必須能夠調整硬體上的影像。 單色印表機並不存在此需求。
針對單色印表機,假設為:
- 印表機只接受 1bpp 資訊。
- 設定為 1 的位表示黑色圖元,而位設定為 0 則表示白色圖元。
- 印表機無法以灰階顯示任何色彩。 (這自然源於1個bpp的限制。
必須支援下列壓縮方法:
- 無壓縮
- TIFF
- 差異數據列
HP-GL/2 不會執行系統橫向旋轉。 啟用 HP-GL/2 時,會假設列印機會處理以橫向模式列印之頁面的點陣、字型和座標旋轉。 若要解決這個問題,請確定所有 GPD 旋轉參數(*RotateCoordinate?、*RotateFont?和 *RotateRaster? 屬性)都設定為 TRUE。 如果您的印表機有旋轉的記憶體溢位問題,您應該考慮不要啟用 HP-GL/2,或將條件約束放在記憶體上(也就是說,只有當記憶體是 4 MB 或以上時,才應該啟用 HP-GL/2。
在記憶體不足的裝置上(例如,具有 2 MB RAM 的 600 dpi 單色鐳射印表機),當裝置處於 HP-GL/2 模式時,產生記憶體不足錯誤的某些頁面可能會在點陣模式中正確列印。 記憶體不足之裝置的其中一個解決方案是寫入 GPD,讓點陣模式是預設值,並讓系統處理橫向旋轉,而不是 HP-GL/2。 此外,某些複雜的直向列印作業可能會在點陣模式中正確列印,但無法在 HP-GL/2 模式中正確列印。 如果是這種情況,您應該考慮將點陣模式設為預設值。
印表機屬性頁的 [ 進階 ] 索引標籤上的列印優化功能目前在 HP-GL/2 模式中會被忽略。
*MirrorRasterPage?HP-GL/2 模式不支援。
即使 GPD 檔案指定裝置支援大綱字型,TrueType 外框字型還是可以下載為點陣字型。 這可能會因為各種原因而發生(例如,印表機上的記憶體不足)。