Hmm. Perhaps to simplify the problem for now.
- Forget the scanner, focus on the printer.
- Forget color and focus on B&W. Since the majority of printing is B&W anyway.
In the case of B&W: Laser might be the better way to go.
- Forget ink. Sounds messy…
So that leaves 2 questions:
- what does the software look like?
- what does the hardware look like?
The software side:
What does the printer see when you send a job?
What does cups see when you print a document?
If you print pdf or a word document, surely the printer isn’t parsing those formats. What about an image? How does it get translated?
According to: Overview of CUPS
It converts the page descriptions produced by your application (put a paragraph here, draw a line there, and so forth) into something your printer can understand and then sends the information to the printer for printing.
And how about the print protocol for telling the print head where to go X,Y coords. Could it leverage something like G-code? Forget the 3rd axis.
Probably best to utilize existing protocols and technology where possible.
The hardware side:
Probably the more complex side of this equation.
Looking at 3D printers with laser engraver heads as an example. This gives you single sided B&W printing. You could flip the paper manually for 2 sided…
Flipping the paper would be the tricky part for double sided prints.
And what wavelength of light for the laser? Paper is very reflective being white. How many mW to safely and precisely burn? Don’t want to set the paper on fire…