You have unloaded pages!
At first , you don't seem to know which raw print queue is in the CUPS language: the raw queue is one that is not related to ...
... no script interface (a script with the same name as the queue itself, located in /etc/cups/interfaces/ ),
... nor a PostScript printer description file (PPD file) with the same name as the queue itself with the additional suffix * .ppd located in /etc/cups/ppd/ ).
Since you are saying that you have installed the script interface for printer queues, by definition these are NOT raw queues!
To send jobs as raw (i.e., unfiltered) to non-raw CUPS queues, there is no other way than using -o raw on the lp command line. You can also use (alternatively) the option -o document-format=application/vnd.cups-raw ... but it has exactly the same meaning: it forces CUPS to use the same work processing and only 7 times as many keyboard keys for punching.
Both methods force CUPS to skip the step of automatically entering the incoming job file and pass it through the filter without filtering into the queue.
The automatic input step and its result can be observed in the log file /var/log/cups/error_log , looking for the Auto-typing keyword when your cupsd.conf has LogLevel debug enabled: the line indicating Request file type is ... tells you which MIME type of CUPS classifies your incoming job as.)
How to force CUPS to process incoming print data as text
Use -o document-format=text/plain on the lp command line.
How to configure "raw" CUPS queues
If you want to turn (any) an existing print queue into the original one, simply delete the associated PPD file ( /etc/cups/ppd/myprinter.ppd ) or its associated script interfaces ( /etc/cups/interfaces/myprinter ).
If you want to set the print queue to act as a source from the very beginning, just use printername and an internal URI, but do not specify any PPD or any script interface with it:
An example of a command to set a raw print queue:
sudo lpadmin -p my_raw_printer -E -v socket:
( -p - specify the name of the print queue, -E - enable the print queue from the beginning.)
Speculation: why the 2nd application can bypass your script interface
Without seeing your complete system setup and looking at the second application (the print of which seems to be different from your first) or without access to the debug level CUPS file error_log , you can only assume:
- I assume that your 2nd application uses some tough print command, which implicitly uses the
-o raw print command option.