HP Pcl 5 Manual
Have a look at the manual HP Pcl 5 Manual online for free. It’s possible to download the document as PDF or print. UserManuals.tech offer 1114 HP manuals and user’s guides for free. Share the user manual or guide on Facebook, Twitter or Google+.
ENSet Compression Method Command 15-23 Repeating a Row E C*b0W When using the delta compression method, it is possible to repeat or copy the previous raster row using the Raster Data Transfer command. This is accomplished by setting the Raster Data Transfer command, value field, to zero. Printing A Zeroed Row (Setting the Seed Row to Zero) E C*b1Y It is possible to print a row of all zeros using the Raster Y-Offset command. Sending a Raster Y Offset command, with a value field of 1, sets the seed row to zero and prints the zeroed row. Note, that the next delta row is applied to a zeroed seed row. Other cursor position moves set the seed row to zeros. (Remember, non-graphic cursor moves have the same effect as an end graphics command.) NoteIf the byte count of the Transfer Raster Data command value field is less than the number of bytes that can be replaced, the byte count has precedence. Also, if the last byte is a control byte, it is ignored. Therefore, &esc*b1W does not affect the seed row, but causes the previous row to be replicated.
15-24 Raster GraphicsEN Example: Delta Row Compression The following example demonstrates how to compress the following data using the delta row compression. (The bytes highlighted in italic type indicate those bytes needing replacement — those bytes that are different from the previous row, the seed row.) E C*r1A – The start raster graphics command initializes the seed row to all zeros. Row 1 — E C*b3m2W(00000001)(11111111) The 3m selects the delta row compression method and the 2W indicates that 2 bytes of data to follow. The first three bits of the first data byte, the command byte, signify a single byte replacement (all three bits are 0). The next five bits indicate an offset of 1 byte from the current position. The replacement byte follows and contains 11111111. Row 2 — E C*b2W(00000010)(11110000) The first three bits of the command byte indicate that one byte will be replaced, and the next five bits indicate a relative offset of 2, so the replacement will occur 2 bytes from the current position. The replacement byte follows and contains 11110000. Row 3 — E C*b5W(00000000)(00001111)(00100010) (10101010)(10101010) As in the other rows, the first three bits of the command byte are zero, indicating a single byte replacement. The five offset bytes indicate a relative offset of zero bytes. The replacement byte follows and is 00001111. The third byte is another command byte and the first three bits signify the replacement of two bytes (the top three bits are 001). The offset bits indicate an offset of two bytes from the current position. The fourth and fifth bytes are the two replacement bytes. Table 15-8 Byte No.01234 Row 1 00000000 11111111 00000000 00000000 00000000 Row 2 00000000 11111111 11110000 00000000 00000000 Row 3 00001111 11111111 11110000 10101010 10101010
ENSet Compression Method Command 15-25 Adaptive Compression (Method 5) Adaptive compression enables the combined use of any of the four previous compression methods (0 through 3), and it includes the ability to print empty (all zeros) rows or to duplicate rows. Adaptive compression interprets a raster image as a block of raster data rather than as individual rows. The result of this interpretation is that the Transfer Raster Data ( E C*b#W) command is sent only once at the beginning of a raster data transfer, and the value field (#) identifies the number of bytes in the block (all rows). For the other compression methods, the Transfer Raster Data command is sent at the beginning of each row and the value field (#) identifies the number of bytes for that row only. The size of a block is limited to 32,767 bytes. (32,767 bytes is the number of compressed bytes and not the size of the uncompressed data). To transfer greater than 32,767 bytes, send multiple blocks. Adaptive compression uses three control bytes at the beginning of each row within the block. The first of these bytes, the command byte, identifies the type of compression for the row. The two following bytes identify the number of bytes or rows involved. The format for adaptive compression raster rows is shown below: ... ...... The command byte designates the compression method, empty row, or row duplication. Command byte values are shown below. Table 15-9 Value Compression Operation 0 - Unencoded 1 - Run-Length Encoding 2 - Tagged Image File Format (TIFF) rev 4.0 3 - Delta row 4 - Empty row 5 - Duplicate row
15-26 Raster GraphicsEN For command byte values 0 - 3, the two bytes specify the number of bytes (row length) for the row. For command byte values 4 and 5, these bytes identify the number of empty or duplicate rows to print. The maximum value for these two bytes is 65,535; however, the image is clipped to the logical page. Thus, the value of these bytes should not exceed the maximum number of bytes/rows that can be printed on the current logical page size. If an out of range command byte is encountered, the remainder of the block is skipped, the cursor is not updated, and the seed row is cleared. Compression methods 0 - 3 are the compression methods used by the Set Compression Method command. Value fields 4 and 5 are features for the adaptive compression method and are explained below. Empty Row A command byte of 4, empty row, causes a row of zero’s to be printed. The number of rows printed depends on the value contained in the two bytes following the command byte. The empty row operation resets the seed row to zero and updates the cursor position. Duplicate Row A command byte of 5, duplicate row, causes the previous row to be printed again. The row can be duplicated the number of times indicated by the value contained in the byte. Duplicate Row updates the cursor position but does not change the seed row.
ENSet Compression Method Command 15-27 Adaptive Compression Operation Hints NoteSome HP LaserJet printers perform internal compression techniques to support full-page graphics. Refer to Chapter 1 of the PCL 5 Comparison Guide for specifics. zThe compression methods cannot be mixed within one raster row. A raster row must be compressed using only one method. zThe cursor position is updated with each row of the raster block. The cursor position is also incremented when a block count of less than 3 is sent. zA Raster Y-Offset command moves the entire block of raster data and initializes the seed row to zeros. The seed row is set to zero even if the y-offset is zero. zBlock size takes precedence over row length. If the row length of any line exceeds the block size, the row length is truncated to the block size. zFor duplicate and empty rows a row length value of zero does not update the cursor, however, the seed row is initialized to zero. zIf an unsupported command byte for a raster row is encountered, the remaining bytes for the block are skipped, the seed row is cleared, and the cursor is not incremented. zFor method 1, run length encoded, if the row length is odd, the cursor is incremented and the row data is skipped (thrown away), and the seed row is left unchanged. zFor method 1, a row length value of zero increments the cursor and zero fills the seed row. zFor method 2, TIFF, if row length terminates the data before the control byte value is satisfied (literal byte count greater than row length), the data following the control byte (if any) is printed as text. The cursor is incremented. zFor method 2 - If row length is equal to one, the one byte is consumed from the I/O and the cursor is incremented. The data is ignored and the seed row is zeroed. zFor method 3 - delta row compression, within an adaptive compression block, the seed row is updated by every raster compression method or type of row. For example, a row compressed with method 2, TIFF, updates the seed row, while the effect of an empty row initializes the seed row to zeros. Maintaining the seed row allows method 3 to be mixed with other methods to achieve optimal compression performance.
15-28 Raster GraphicsEN z For method 3 - Since delta row compression requires that the seed row be available whenever raster graphics mode is entered, the seed row is initialized to zeros upon raster graphics mode entry ( E C*r#A). The seed row is also initialized upon receipt and completion of each raster block. zFor method 3 - If the row length terminates the data before the control byte value is satisfied (literal byte count greater than row length), the data following the control byte (if any) is printed as text. The cursor is incremented. zFor method 3 - if the row length is equal to one, the current row is duplicated, and the cursor is incremented.
ENTransfer Raster Data Command 15-29 Transfer Raster Data Command The Transfer Raster Data command is used to transfer a row of raster data to the printer. E C * b # W [raster data] Default =N/A Range =0 - 32767 The value field (#) identifies the number of bytes in the raster row. These bytes are interpreted as one row of raster graphics data that is printed at the current Y position at the left raster graphics margin. Upon completion of this command, the cursor position is at the beginning of the next raster row at the left raster graphics margin. Within the raster data, each bit describes a single dot. The most significant bit (bit 7 is the most significant, bit 0 is the least significant) of the first byte of data corresponds to the first dot within the row. If a bit is set to 1, the corresponding dot is printed. Each dot of the raster data is expanded according to the specified raster resolution. Raster graphics is independent of the text area and perforation skip mode – these boundaries are ignored. Raster graphic images, raster height, and raster width are limited to the printable area; images that extend beyond the printable area are clipped. NoteThe byte count of the value field in the Transfer Raster Data command has precedence over the literal or the command byte, byte count. For example, the command, E C*b2m3W [binary data] sets compression method=2 and sends 3 bytes of raster data for the row. Suppose the binary data appears as follows: 00000010 00000001 00000001 00000001 The control (first) byte value of +2 indicates that 3 bytes of literal (unencoded) raster data will follow. The Transfer Raster Data command, however, specified only three bytes total (including the control byte) in the raster row. The control byte and the following two data bytes are read, and the remaining data byte is ignored.
15-30 Raster GraphicsEN NotesIf the last byte indicated by the value field in the Transfer Raster Data command is a control byte, that byte is ignored. If a Transfer Raster Data command is received without an accompanying Start Raster Graphics command, any preceding start raster values are used (such as left graphics margin, raster height and width, etc.). End Raster Graphics Command The End Raster Graphics command signifies the end of a raster graphic data transfer. E C * r C zReceipt of this command causes 5 operations: zResets the raster compression seed row to zeros. zMoves the cursor to the raster row immediately following the end of the raster area (if a source raster height was specified). zAllows raster commands which were previously locked out to be processed. zSets compression mode to 0 (no compression) zDefaults the left graphics margin to X-position 0. Notes This command is a modified version of the E C*rB End Raster Graphics command. This new version (E C*rC) performs two additional operations: 1) it resets the compression mode to 0, and 2), it defaults the left graphics margin to 0. This command ( E C*rC) is not supported by the HP LaserJet III or the HP LaserJet IIID printers. Use the E C*rB End Raster Graphics command to terminate raster graphic data transfers for these printers. Refer to the “PCL Feature Support Matrix” in Chapter 1 of the PCL 5 Comparison Guide for specific printers which support these commands.
ENRaster Graphics Example 15-31 Raster Graphics Example To transfer an unencoded raster graphic image (see Figure 15-11) in the shape of an arrow, perform the following steps: Table 15-10 1. Position the cursor: E C*p300x400 Y This moves the cursor to PCL Unit position (300, 400) within the PCL coordinate system. 2. Specify the raster graphics resolution: E C*t75R This sets the raster graphics resolution to 75 dots-per-inch. 3. Specify the raster graphics presentation method: E C*r0F This specifies that the raster graphics is printed in the orientation of the logical page. 4. Specify the left raster graphics margin: E C*r1A This sets the left graphics margin to the current X position (300). 5. Transfer the raster data to the printer: Divide the image into dot rows and transfer each dot row to the printer as a string of bytes, as illustrated on the following page. 6. Signify the end of the raster graphic image transfer: E C*rC This example prints the arrow as shown in Figure 15-11. Table 15-11 Example of Raster Graphic Image Data Raster Image Data Command Data Dot Row byte 1 byte 2 byte 3 byte 4 Decimal Equivalent 1 00000000 00000000 10000000 00000000E C*b4W[ 0, 0,128, 0] 2 00000000 00000000 11000000 00000000E C*b4W[ 0, 0,192, 0] 3 00000000 00000000 11100000 00000000E C*b4W[ 0, 0,224, 0] 4 00000000 00000000 11110000 00000000E C*b4W[ 0, 0,240, 0] 5 00000000 00000000 11111000 00000000E C*b4W[ 0, 0,248, 0]
15-32 Raster GraphicsEN The brackets and commas are not part of the raster data command; they are used only to delineate the data. 6 00000000 00000000 11111100 00000000E C*b4W[ 0, 0,252, 0] 7 00000000 00000000 11111110 00000000E C*b4W[ 0, 0,254, 0] 8 00000000 00000000 11111111 00000000E C*b4W[ 0, 0,255, 0] 9 00000000 00000000 11111111 10000000E C*b4W[ 0, 0,255,128] 10 11111111 11111111 11111111 11000000E C*b4W[255,255,255,192] 11 11111111 11111111 11111111 11100000E C*b4W[255,255,255,224] 12 11111111 11111111 11111111 11110000E C*b4W[255,255,255,240] 13 11111111 11111111 11111111 11111000E C*b4W[255,255,255,248] 14 11111111 11111111 11111111 11111100E C*b4W[255,255,255,252] 15 11111111 11111111 11111111 11111110E C*b4W[255,255,255,254] 16 11111111 11111111 11111111 11111111E C*b4W[255,255,255,255] 17 11111111 11111111 11111111 11111111E C*b4W[255,255,255,255] 18 11111111 11111111 11111111 11111110E C*b4W[255,255,255,254] 19 11111111 11111111 11111111 11111100E C*b4W[255,255,255,252] 20 11111111 11111111 11111111 11111000E C*b4W[255,255,255,248] 21 11111111 11111111 11111111 11110000E C*b4W[255,255,255,240] 22 11111111 11111111 11111111 11100000E C*b4W[255,255,255,224] 23 11111111 11111111 11111111 11000000E C*b4W[255,255,255,192] 24 00000000 00000000 11111111 10000000E C*b4W[ 0, 0,255,128] 25 00000000 00000000 11111111 00000000E C*b4W[ 0, 0,255, 0] 26 00000000 00000000 11111110 00000000E C*b4W[ 0, 0,254, 0] 27 00000000 00000000 11111100 00000000E C*b4W[ 0, 0,252, 0] 28 00000000 00000000 11111000 00000000E C*b4W[ 0, 0,248, 0] 29 00000000 00000000 11110000 00000000E C*b4W[ 0, 0,240, 0] 30 00000000 00000000 11100000 00000000E C*b4W[ 0, 0,224, 0] 31 00000000 00000000 11000000 00000000E C*b4W[ 0, 0,192, 0] 32 00000000 00000000 10000000 00000000E C*b4W[ 0, 0,128, 0] Table 15-11 Example of Raster Graphic Image Data (continued)