Printing from AS400 / IBM i to Windows via LPR — the complete setup
The standard way to get spooled files off an IBM i and onto a Windows server is a remote output queue (RMTOUTQ) sending over LPR to port 515. This guide covers both ends: the CRTOUTQ configuration on the IBM i, and — now that Microsoft has deprecated its Windows LPD service — what to run on the Windows side to receive the jobs reliably.
Step 1 — Put a reliable LPD receiver on the Windows server
Something on the Windows server must listen on TCP 515 and speak RFC 1179. The built-in Microsoft LPD Print Service is deprecated and scheduled for removal, and in high-volume use it is known to drop jobs silently. Install AmazeLPD instead: it installs as a Windows service, listens on 515 (LPR) and 631 (IPP), acknowledges each job only after it is durably spooled to disk, and records every job in an auditable history. The 7-day trial is the full product.
In AmazeLPD Manager, create a queue — for example INVOICES — and set its destination (a Windows printer, or a REST endpoint for a document platform). The queue name is what the IBM i will address as RMTPRTQ. Queue names are case-sensitive on many LPR implementations, so pick one case and use it on both ends.
Step 2 — Create the remote output queue on the IBM i
On a 5250 session, create the output queue with CRTOUTQ:
| Parameter | What it does |
|---|---|
RMTSYS(*INTNETADR) | Address the remote system by IP rather than a host-table name. |
RMTPRTQ('INVOICES') | The queue name on the Windows side — must match the AmazeLPD queue name exactly, including case. |
AUTOSTRWTR(1) | Starts one remote writer automatically when the system starts. |
CNNTYPE(*IP) / DESTTYPE(*OTHER) | Plain TCP/IP LPR to a non-IBM destination. |
TRANSFORM(*NO) | Send the spooled data as-is. Use TRANSFORM(*YES) with a MFRTYPMDL workstation customisation object only if you need host print transform to convert SCS/AFP to a printer data stream first. |
INTNETADR('…') | The IP address of the Windows server running the LPD receiver. |
Parameter set is the standard IBM remote-output-queue configuration; exact options vary slightly by IBM i release. TRANSFORM/MFRTYPMDL choice depends on whether the receiving platform expects raw SCS/AFP or a rendered printer stream.
Step 3 — Start the writer and test
- Start the remote writer:
STRRMTWTR OUTQ(QUSRSYS/INVOICES)(skip ifAUTOSTRWTR(1)already started it — check withWRKOUTQ INVOICES). - Send a test: place any spooled file on the queue, e.g.
WRKSPLF, option 2 to change its OUTQ toINVOICES. - Confirm on Windows: the job appears in AmazeLPD's job history as Received → Processed → Completed, with logs. If the destination is down, the job holds as Pending instead of vanishing — the difference between AmazeLPD and the old Microsoft service.
- If nothing arrives: check port 515 is reachable (
telnet 192.168.1.50 515from another host, or firewall rules), the writer is started (WRKWTR), and the queue names match exactly.