What you are talking about I refer to as 2.5 axis machine vs the traditional 3 axis PLA/FDM printer. Aka a plotter. Using an inkjet cartridge or a laserjet toner on a piece of paper outside the context of the printer it was designed for seems foolhardy at best... but what about moving a pen up and down?
Shameless plug, I've been working on a project called Robot Draws You! (www.robotdrawsyou.com). I'm currently using an off-the-shelf machine and the software / cloud hoops it requires me to jump through were enough to convince me to build my own machine. For the proof of concept I'm using a Duet2 board, but eventually I want to write some code that will sit on a raspi and talk to the Duet to allow the machine a more granular drip-feed style control over the "printing" process". More on that later.
"Why is it hard?" The challenge starts with taking in a given SVG file, making sure it scales / fits within the bounds of a given writeable area, and then generating GCODE to send to the printer / plotter. Because there's no extruder, custom GCODE needs to get created to take advantage of the GPIO pins to move a servo up/down to control the pen. The software challenge is replacing the much-hated cloud interface I complain about. It may suck, but it does a lot and it actually works.
The more I use "the cloud", the more I am reminded it does not provide adequate controls/info on:
- The size of the rendered image relative to the writeable area
- The order in which the layers of the file get rendered
- Information about the progress / time left per layer
- Repeatability of failed layers without re-writing entire project
So crazy me decided "I'll make my own plotter UI and hardware!" It's slow going but it's really fun and I enjoy the challenge. The end solution is going to be a mix of hardware and software that allows you to upload an SVG / vector file to a web UI, start/stop/repeat layers and control the order of the rendering. I like to make drawings of people, and also want to use this to make gigantic maps as well.
There are tons of OS boards and software already developed around this problem, you don't have to do it all yourself.