I would like to create a networked Postscript RIP for my Inkjet printer using a Raspberry Pi 4 that isn't getting much use at the moment.
The idea is that my Raspberry Pi 4 should sit on the network as a Postscript printer server, and then it would render the documents and pass them to CUPS for printing on whatever CUPS supported printer I have (it happens to be a colour HP multifunction job, but it works with CUPS).
Ghostscript would appear to be ideal for the task - but how can I get a Postscript document printed over the network into Ghostscript? Does Ghostscript have a port that it can listen on? Or should I be using something else?
If this can be made to work, what PPD should I use with Ghostscript?
Ghostscript is a Postscript and PDF interpreter/renderer, not a print server. CUPs includes print server capabilities (printer sharing) and ought to be able to handle Postscript print jobs, I would think.
Related
I am newbie to yocto world, learning and trying to develop small projects.
I want to interface graphical lcd with raspberry pi 3, what interface should I use?
I have build a yocto image for raspberry pi and running on it.
What changes do I need to make in yocto image to display something on glcd.
To begin with, you will have to read the specification of the lcd you have chosen. This way you will be able to see if it is LVDS, RGB, etc as well as calculate the timings according to your requirements so that the display works as expected. Here is some information.
Once you have that background you need to know about how Linux displays images, I leave you another resource here. Basically you have to add the previously collected information to the kernel driver that manages the KMS interface (Kernel Mode Setting, part of the Direct Rendering Manager (DRM) interface.
It will also be important that you supply the kernel with the desired display resolution, among other things, in the kernel argument line.
I have a HP Color Laserjet Pro 454dn printer connected to CUPS, but some of my Windows 10 computers can't print Duplex to it. Android and IOS devices have no problem printing duplex. I did notice that the driver on the working Windows 10 computer is a "Microsoft IPP driver". I cannot find this driver on the other computers. Does anyone know how to install this? I have turned the "Internet Printing Client" on, but this does not help. Also, I have tried the universal and device specific drivers from HP both with post script and PCL, some print only greyscale and others don't print duplex.
Android and iOS can print without drivers. I have looked into driverless printing for Windows, have made no progress. This would be my favourite solution.
Thank you all very much.
The IPP Driver is built into Windows 10. You might want to look at adding SAMBA to your CUPS implementation. Especially for older Windows and Android clients wanting to see your printer.
Click the 'The Printer that I want isn't listed'.
Then the radio button of "Select a shared printer by name".
Then put the printer network name in the window using this format:
http://hostname-or-ip-of-your-pi:631/printers/Printer_Name
Windows will now find the printer and ask for a print driver for it.
This link tells you all you ever wanted to know about CUPS printing but assumes your using Ubuntu to make a network printer: http://www.auxnet.org/index.php/the-news/214-installing-an-ipp-printer-in-windows-10
I'm trying to get a check-scanner to transmit image files to my Mac (the company only provides Windows drivers). I have the technical manual that specifies all the commands that can be sent to the device, and I'm trying the most basic commands first (blink the LED, print serial number, etc.).
I have been able to successfully communicate with the device using "Serial Tools", but I'm trying to use bash for more control of the input/output and to eventually write an automated script.
After reading a few other posts and trying several things, so far I've tried this:
Opening the port with stty command and various flags, for example:
stty -f /dev/tty.usbserial-A5002TeW speed 9600 cs8 cread clocal
stty -f /dev/tty.usbserial-A5002TeW raw speed 9600 -cstopb -parity -echo
Trying to send commands over echo:
echo $'LE 100\cM\cJ' > /dev/tty.usbserial-A5002TeW
--Note that the serial device is connected through a USB adaptor, but responds (at least in Serial Tools) as a regular serial device after I installed the right drivers for it.
--I'm trying to use the \cM\cJ characters because as the device was intended for use by Windows boxes I figured I should use their control codes, I've tried multiple permutations of the code.
The Problem:
No matter what happens, the device never responds (no blinky LED lights, no output, etc) and my bash shell hangs until I stop it (^C). I know I can probably use a Python library, and I might wind up doing that, but I'd like to at least see some basic functionality with the bash shell.
Another option would be to try to get it working under a VM (VirtualBox, Fusion, Parallels, etc.) by installing Windows in the VM on your Mac.
Most cumbersome solution, because you'd have to reboot all the time, dual boot your Mac into windows.
Finally, I have an app on my iPhone from my banking institution that simply uses the camera in the phone to photograph the front and back of a check, and they'll accept it that way. This might be an option.
In the world of printers, particularly the POS ones, there are two common approaches, OPOS and Windows print queues. And there's also the work-around like the virtual serial port. But there seems to be another approach out there too ... the driver is installed but the software seems to be writing directly to the port rather than using the windows spooler.
If you look at the spooler ports when an Epson USB printer is installed for example, there is a ESDPRT001 ... could it be that the POS app is writing to the port directly and bypassing the whole spooler?
According to Epson's product description of OmniLink no driver is required. It is quite possible that the spooler has been outsourced to the powerful onboard computer, which is operating at ~400Mhz. Just a guess.
You don't need a driver for Epson's OmniLink. If your spoolsv.exe isn't working, look into this though.
I want to use my designed USB/Serial device as a printer so that the "print" action on my Linux/Windows send the data (which asked to print) to my new printer (my own designed device/printer) connected on USB/Serial port.
Could you please give me the steps to do it? I am not sure where I should start from and how to proceed with this project?
I have an option for either Windows or Linux.