Bug 502231 - The selected page size (ex. A4) is immediately reset to Custom, if the scanner's dimensions for that page size are different from the standard by a rounding error
Summary: The selected page size (ex. A4) is immediately reset to Custom, if the scanne...
Status: RESOLVED FIXED
Alias: None
Product: Skanpage
Classification: Applications
Component: general (other bugs)
Version First Reported In: 24.12.3
Platform: Manjaro Linux
: NOR minor
Target Milestone: ---
Assignee: Alexander Stippich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-31 08:47 UTC by Sergio
Modified: 2025-04-25 19:06 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergio 2025-03-31 08:47:42 UTC
SUMMARY

I have an HP multifunction printer M281.

For this device the maximum scan area in flatbed mode is just slightly less than A4 even if the device is advertised as A4 capable. In fact, even if it can scan the standard width of A4 (21 cm), it falls slightly short of the A4 height (29.7 cm) probably because internally imperial units are used and there is some rounding in the conversion to metric. As a result, for this device A4 is 21cm x 29.69 cm.  

Unfortunately, skanpage is unhappy with this. When you select A4 as the page size, it immediately resets to CUSTOM.

STEPS TO REPRODUCE
1. Open skanpage
2. Select the M281 scanner
3. Set the scan area to a4

OBSERVED RESULT

The scan area stays at "custom"

To see whether it has been configured correctly, you need to enable the visibility of the actual border coordinates.

EXPECTED RESULT

When you select A4, skanpage should check what the scanner can do and if it is sufficiently close say A4.

SOFTWARE/OS VERSIONS

Operating System: Manjaro Linux 
KDE Plasma Version: 6.3.3
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.2
Kernel Version: 6.12.20-2-MANJARO (64-bit)
Graphics Platform: Wayland

ADDITIONAL INFORMATION

N/A
Comment 1 John Kizer 2025-04-10 17:52:59 UTC
Hi - apologies if I'm misunderstanding, but is the request here for Skanpage to show that the scan area is a certain paper size if the actual coordinates is within a certain tolerance to the ones defined for that paper size?

What would define "close enough" that could be applied across all users, devices and situations? Asking as I would imagine at least some instances in which exactness matters?

Thanks!
Comment 2 Sergio 2025-04-10 19:05:57 UTC
In the specific case, I don't think the actual tolerance value is very important.

As said, some scanners may have minor tolerances with respect to some page formats. In my case, I have an HP standard that claims it can do A4 (21x29.7 cm), when in fact can only do (21x29.693), however it advertises A4.

Hence, skanpage should not pretend "in general" that anything close to A4 is A4.

Conversely, if A4 is among the supported page sizes, and the user asks for A4, it should say A4 even if the actual page size returned by the scanner is not really A4, but only close.

Other tools (e.g., skanlite), don't even make the check. If the user asks for A4, they say A4. Making the check is in my opinion better (so if things are way too off the user can be alerted), but the tolerance can be relatively loose (e.g 1%).
Comment 3 Bug Janitor Service 2025-04-19 14:25:40 UTC
A possibly relevant merge request was started @ https://invent.kde.org/libraries/ksanecore/-/merge_requests/32
Comment 4 Alexander Stippich 2025-04-25 19:06:06 UTC
Git commit fd254a45bc56485da64cb3f8fdebb6cc485b5b59 by Alexander Stippich.
Committed on 25/04/2025 at 19:06.
Pushed by astippich into branch 'master'.

remember the actual wiggle room per page size

and use this information to track changes in the size options to
not falsely switch to a custom page size.

M  +42   -33   src/options/pagesizeoption.cpp
M  +8    -2    src/options/pagesizeoption.h

https://invent.kde.org/libraries/ksanecore/-/commit/fd254a45bc56485da64cb3f8fdebb6cc485b5b59