On macOS with the Apple (ImageCaptureCore) driver, any custom page size is discarded and
the scan is performed at Letter (8.5 × 11 in) instead. There is no error, no warning, and
no log entry — the scan reports success. Enumerated sizes (Letter, Legal) work correctly,
which makes the failure specific to the custom-size path.
This matters for long-paper scanners. My scanner is rated for 8.5 × 200 in, but on macOS
nothing longer than Legal is reachable, and a user asking for 36 in gets an 11 in scan with
no indication that anything was truncated.
Environment
- NAPS2 8.3.2+70662a3160986975fb3abb3cd67a0caaa6f63290 (from
NAPS2 console --help)
- macOS 26.5.2 (build 25F84), Apple Silicon (arm64)
- Driver:
apple
- Scanner: Ambir ImageScan Pro 830ix, USB 0x20EC:0x830A, connected directly (no hub)
- Vendor ICA driver:
/Library/Image Capture/Devices/Ambir Scanner.app v1.0.1.21 (universal binary)
- Scanner rated by the manufacturer at 8.5 × 200 in max scan area
Steps to reproduce
Both the GUI profile path and the CLI path fail identically.
Via profile — set a profile to the Apple driver, Feeder source, 300 dpi, and a custom
page size of 8.5 × 36 in, then scan.
Via CLI:
NAPS2 console --driver apple --device "Ambir" --source feeder \
--pagesize 8.5x36in --dpi 300 -o out.pdf -v
CLI output reports complete success:
Scanned page 1.
1 page(s) scanned.
Exporting...
Successfully saved PDF file to out.pdf
Actual vs expected
Measuring the embedded image in the resulting PDF (/Width and /Height of the image XObject):
| Page size requested |
Image pixels @300 dpi |
Actual scan area |
| Custom 8.5 × 36 in (profile) |
2550 × 3300 |
8.50 × 11.00 in ❌ |
Custom 8.5 × 36 in (--pagesize) |
2550 × 3300 |
8.50 × 11.00 in ❌ |
Legal (<PageSize>Legal</PageSize>) |
2550 × 4200 |
8.50 × 14.00 in ✅ |
Expected: the requested 8.5 × 36 in area is scanned; or, if the device cannot support it,
the scan is clamped to the device maximum and the user is told.
Actual: silently scanned at Letter.
Note the result is exactly Letter, not the device's declared maximum. The vendor driver's
ScannerProperties.plist declares ICAP_PHYSICALHEIGHT = 7020 (÷600 dpi = 11.7 in) for the
feeder unit, so a clamp to the device maximum would have produced 11.7 in. Getting exactly
11.00 in suggests NAPS2 is falling back to a Letter default rather than clamping — i.e. the
custom size is dropped before it reaches ImageCaptureCore.
Suggested fix
In NAPS2.Scan.Internal.Apple.AppleScanDriver, custom PageSize values appear not to be
translated into the ICScannerFunctionalUnit scan area. Even if the size cannot be honored,
surfacing a warning would prevent silent data loss — a truncated scan that reports success is
worse than a failed one, since the user only finds out when they look at the file later.
On macOS with the Apple (ImageCaptureCore) driver, any custom page size is discarded and
the scan is performed at Letter (8.5 × 11 in) instead. There is no error, no warning, and
no log entry — the scan reports success. Enumerated sizes (Letter, Legal) work correctly,
which makes the failure specific to the custom-size path.
This matters for long-paper scanners. My scanner is rated for 8.5 × 200 in, but on macOS
nothing longer than Legal is reachable, and a user asking for 36 in gets an 11 in scan with
no indication that anything was truncated.
Environment
NAPS2 console --help)apple/Library/Image Capture/Devices/Ambir Scanner.appv1.0.1.21 (universal binary)Steps to reproduce
Both the GUI profile path and the CLI path fail identically.
Via profile — set a profile to the Apple driver, Feeder source, 300 dpi, and a custom
page size of 8.5 × 36 in, then scan.
Via CLI:
NAPS2 console --driver apple --device "Ambir" --source feeder \ --pagesize 8.5x36in --dpi 300 -o out.pdf -vCLI output reports complete success:
Actual vs expected
Measuring the embedded image in the resulting PDF (
/Widthand/Heightof the image XObject):--pagesize)<PageSize>Legal</PageSize>)Expected: the requested 8.5 × 36 in area is scanned; or, if the device cannot support it,
the scan is clamped to the device maximum and the user is told.
Actual: silently scanned at Letter.
Note the result is exactly Letter, not the device's declared maximum. The vendor driver's
ScannerProperties.plistdeclaresICAP_PHYSICALHEIGHT = 7020(÷600 dpi = 11.7 in) for thefeeder unit, so a clamp to the device maximum would have produced 11.7 in. Getting exactly
11.00 in suggests NAPS2 is falling back to a Letter default rather than clamping — i.e. the
custom size is dropped before it reaches ImageCaptureCore.
Suggested fix
In
NAPS2.Scan.Internal.Apple.AppleScanDriver, customPageSizevalues appear not to betranslated into the
ICScannerFunctionalUnitscan area. Even if the size cannot be honored,surfacing a warning would prevent silent data loss — a truncated scan that reports success is
worse than a failed one, since the user only finds out when they look at the file later.