- Information -
There are two common SAP print flows:
Device-dependent (PCL) printing: SAP emits printer language (PCL). Printer receives PCL escape sequences and generates the barcode itself.
Device-independent / Windows (SAPWIN or Windows queue) printing: SAP sends layout/drawing instructions to Windows, Windows redraws/rasterizes the page and the driver sends a rendered image to the printer.
If you ran DirectPrint tests (https://www.typehaus.com/direct-print/) and they printed successfully yet SAP is printing numbers instead of barcodes then the issue resides most likely in the SAP settings. The test proves the printer firmware and barcode module work when they receive raw PCL. When SAP prints numbers instead of barcodes it means the printer never received the PCL barcode commands — the print stream is being converted to graphics somewhere in the print path (either by SAP producing OTF/SAPWIN output or by the Windows/print-server driver/queue rasterizing the job). To fix it, have SAP send native PCL to the printer (or ensure the print server passes through raw PCL unchanged).
- Step by Step Fix -
A — Quick verification (do this first)
Confirm direct test already worked: send the PCL test file directly to the printer's IP address on port 9100 using DirectPrint. Barcode prints → printer/firmware good. If you are using a custom TypeHaus device, feel free to reach out to us for the appropriate test file.
B — SAP admin steps (SPAD) — preferred fix: make SAP send raw PCL
These changes make SAP generate PCL and deliver it directly to the printer.
Log into SAP and run transaction: SPAD
Click Output Devices and find the output device used by the barcode form.
Double-click the device → Device Attributes tab. Verify/set:
Device Type:
HPLJ4(preferred).HPLJ5acceptable if HPLJ4 causes formatting issues.Access Method:
U(Direct TCP/IP / RAW) orL(LPR). PreferUwith Port 9100.Host Printer: set to the printer IP (when using
U) or to the correct LPR target forL.
Save changes (may require BASIS permissions).
Print the barcode form from SAP and verify the barcode prints.
If the SAP device already points to a Windows print queue (Access Method =
Sor Host Printer is a UNC path), proceed to section C.
C — Print server / Windows admin steps (if SAP uses a Windows queue)
A Windows queue can work, but it must pass raw PCL through — many environments rasterize by default. These steps ensure the queue forwards PCL commands rather than converting to graphics.
Identify the Windows print queue name SAP is using (SPAD → Host Printer / UNC path).
On the print server, confirm the queue is set to use a true PCL5 driver:
Install the PCL5 driver (not a PCL6 "universal" or PostScript-only driver).
On the queue: Printer Properties → Advanced:
Select Print directly to the printer OR ensure the queue is configured to allow raw passthrough.
Uncheck: Enable advanced printing features (this prevents Windows from applying extra processing).
Ensure the queue’s port is RAW/9100 or correct LPR configuration that forwards the unaltered stream to the device (not a converter service).
Test by sending the known-good PCL test file through the Windows queue (not direct IP). If the barcode prints, the server is passing PCL correctly. If not, the queue/driver is rasterizing.
Comments