What the PJL / PCL inspector checks
The byte-oriented parser locates Universal Exit Language markers and line-bounded @PJL commands, matches JOB with EOJ, inventories SET and DEFAULT values, records declared printer-language changes, and exposes job or user metadata. It then scans common PCL 5 escape sequences by exact byte offset, decodes frequently useful media, orientation, duplex, copy, unit, and raster-resolution commands, and counts literal form-feed bytes.
Binary payloads and byte offsets
PCL can place compressed raster rows, font data, palette data, and transparent bytes immediately after a length-bearing command. The scanner recognizes common payload-bearing families and advances over the declared number of bytes so embedded escape-like data is not misreported as a command. Truncated payload declarations are errors. Every reported offset refers to the original file, including skipped data.
Why device-sensitive PJL is highlighted
PJL can do more than describe a single job. Supporting printers may accept file-system, storage, persistent-default, reset, status, and operator-message commands. The report highlights these commands because a captured stream should be reviewed before transmission. It never determines whether a target implements a command, whether authorization exists, or whether the operation is safe.
Rendering and compatibility boundary
A clean report does not prove that the stream renders correctly, produces the reported number of physical pages, or is safe for any printer. This tool does not emulate a printer, decompress raster data, parse downloaded fonts or macros, decode PCL XL operators, interpret HP-GL/2 or PostScript payloads, validate vendor extensions, model precedence completely, or query firmware. Form-feed count is an observed control-byte count, not a guaranteed page total. Use a trusted renderer or isolated target-specific test workflow before production.
Frequently asked questions
Is the stream sent to a printer?
No. The page has no printing or network transport code. It reads a selected file into browser memory and displays inert metadata.
Why are PCL XL and PostScript only identified?
They are separate page-description languages. PJL may wrap either, but their payload grammars are outside this PCL 5 escape-command scanner. ToolQuill’s EPS/PostScript inspector can review plain DSC comments separately.
Does two form feeds always mean two pages?
No. A stream may eject pages through other commands, suppress blank pages, include form feeds inside declared data, or rely on language-specific operators. The number is deliberately labelled “observed form feeds.”
Can this remove dangerous commands?
No. Rewriting a binary print stream can corrupt offsets, downloaded resources, or job intent. The CSV provides exact locations for deliberate review in the originating driver or print system.
Format references
The wrapper and command model follows HP-compatible PJL/PCL practice documented in vendor references such as the Xerox PDL Reference Guide and the PCL/PJL behavior described by printer SDK documentation. Device implementations vary, so the exact printer and firmware manuals remain authoritative.
Inspect a PPD description · Inspect a JDF job ticket · Inspect EPS/PostScript DSC