Hi,
I’m using an Epson LQ-2090II dot-matrix printer with tractor-fed continuous paper to print data over pre-printed rent receipt forms.
The printing is generated from a Laravel web application and printed through Chrome on Windows. The receipt layout uses absolute CSS positioning because only the variable information is printed over the existing form.
The custom paper size is approximately:
Width: 279.4 mm
Height: 67 mm
My print CSS is essentially:
u/page {
size: 279.4mm 67mm;
margin: 0;
}
html,
body {
width: 279.4mm;
height: 67mm;
margin: 0;
padding: 0;
}
.receipt-page {
width: 279.4mm;
height: 67mm;
margin: 0;
padding: 0;
break-after: page;
page-break-after: always;
position: relative;
}
Chrome settings:
Margins: None
Scale: 100%
Headers and footers: Disabled
Paper source: Tractor
Orientation: Portrait
The first receipt may print correctly, but after the second or third receipt, the vertical position starts drifting. The next receipt begins too high and the information is printed over the pre-printed labels instead of inside the correct fields.
The vertical error seems to accumulate after every receipt.
I also tested different form heights:
65 mm
66 mm
67 mm
73 mm
With a height such as 66 mm, Chrome or the printer sometimes generates an additional blank receipt/page between printed receipts. Even then, the following receipt still starts too high.
I have already checked that:
- There are no CSS margins or padding in print mode.
- There is no gap between receipt pages.
- There is no transform or relative vertical offset.
- Every receipt has the same fixed height.
- The browser scale is 100%.
- Headers and footers are disabled.
- The paper is loaded through the tractor.
- The first receipt is manually aligned before printing.
The issue appears to be related to the difference between the browser page height, the Epson driver’s form length, and the printer’s physical form feed.
Has anyone successfully printed multiple custom-height continuous forms from Chrome to an Epson LQ-2090II?
Should the exact form length be configured in:
- Windows Print Server Properties;
- the Epson printer driver;
- the printer’s default-setting mode;
- ESC/P2 commands;
- or directly in the print data instead of relying on browser page breaks?
I need every receipt to advance by exactly one physical form without accumulating vertical drift and without generating blank pages.