You are not logged in.
Hello, Beginner here!
I'm using KDE, the KDE integration for Printers
CUPS version 2.4.10-1
Printer is set up using the appropriate PPD file from Xerox's site. With the local IP address for the Fiery server.
I've been using Arch at work for about 8 months, things have been going well, minimal troubleshooting needed. But I'm getting pretty sick of this problem I've had all this time. Our office uses a Xerox Color C70 printer, a huge P.O.S. that everyone hates. But I must hate it the most because of this particular issue I have with it. In my line of work, I print out a lot of PDF files, typically 150-200 pages at a time. They typically are around 2.5-3.0 MB. But when I send the job to this printer, they're in the Print Queue for a long time, about 5-8 minutes. I haven't timed them precisely yet. The Status Message shown on in the Print Queue is always "cfFilterChain: universal (PID #####) exited with no errors." for most of that time, then it switches to "cfFilterChain: pdftopdf (PID ####) exited with no errors." At the very end, the Status Message switches to "Connected to printer." The Pages column counts up incredibly fast, and the print job leaves the queue.
Once gone from my print queue, the Xerox Color C70 receives the print job through its own Fiery server. Then this printer start spitting out the job about 5 pages at a time, consistently pausing as if it's still waiting to receive all the information for the print job. I can tell this is the case because if ever the printer is paused (like a jam) and left to sit for some time, when the print job continues, it'll print to it's expected speed, like it had time to buffer.
On the other hand, I also create hundreds of pages of documents, like 400 pages (form letters) which are in the 300-500 KiB range, and those get printed out without any problem. I can't imagine that just because the pdf files are an order of magnitude larger than these .odt files, they're taking such a ridiculous amount of time to print.
Any ideas on what the issue can be, and how I can try to fix this behavior would be greatly appreciated!
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
How do the PDFs scale?
Ie. do 300kB PDFs behave like 300kB odt's?
Does the pdftopdf take 5-8 minutes??
https://wiki.archlinux.org/title/CUPS/Troubleshooting - raise the debug level, restart cups.
The log should have timestamps about what happens when and where things stall.
Unrelated to the printer:
It's a network printer, so your network stack is ok?
rj45 or wifi?
Also please post the output of
find /etc/systemd -type l -exec test -f {} \; -print | awk -F'/' '{ printf ("%-40s | %s\n", $(NF-0), $(NF-1)) }' | sort -f
for the usual suspects.
Online
Hi Seth,
My PDFs actually do scale up in data size when I send them to the printer. For example, the last PDF file I sent was 1.9 MiB, according to CUPS's Jobs it ballooned to "1621k" (I don't know if that means 1,621 thousand Bytes? or 1,621 KB?) I'm reading this off the Jobs page from the localhost CUPS site. But when it gets to the printer, according to the Fiery software it's now 24 MB.
After that test I raise that debug level, restarted the cups.service (I hope that's what you meant) and sent the same job again. I timed the Status Message points.
This is on a 44 page 1.9 MiB pdf file printed from Firefox.
cfFilterChain: universal (PID 93749) exited with no errors. - 1 minute 50 seconds (I'm surprised, honestly)
I did not notice it try to do pdftopdf this time...
Connected to printer. - less than a second, this one is very fast, it just counts the pages and then quickly exits.
CUPS's localhost site again says the size is 1621k. But the Fiery server (on the printer) says 24 MB.
The debug log (based on the link you sent me) is over 13K lines long. I'm not sure what I should be giving you for that.
About the printer, it's a network printer, I'm not sure how to answer your question if the network stack is ok? I assume it's fine. I can access the printer through Fiery's local IP. It's connected via Ethernet cable.
Here's the output of that line:
bluetooth.service | bluetooth.target.wants
cups.path | multi-user.target.wants
cups.service | multi-user.target.wants
cups.service | printer.target.wants
cups.socket | sockets.target.wants
dbus-org.bluez.service | system
dbus-org.freedesktop.nm-dispatcher.service | system
dbus-org.freedesktop.timesync1.service | system
display-manager.service | system
getty@tty1.service | getty.target.wants
lm_sensors.service | multi-user.target.wants
logid.service | graphical.target.wants
NetworkManager.service | multi-user.target.wants
NetworkManager-wait-online.service | network-online.target.wants
numLockOnTty.service | multi-user.target.wants
numlock.service | multi-user.target.wants
p11-kit-server.socket | sockets.target.wants
pipewire-pulse.socket | sockets.target.wants
pipewire-session-manager.service | user
pipewire.socket | sockets.target.wants
remote-fs.target | multi-user.target.wants
systemd-timesyncd.service | sysinit.target.wants
systemd-userdbd.socket | sockets.target.wants
wireplumber.service | pipewire.service.wants
xdg-user-dirs-update.service | default.target.wants
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
The common way to screw up ones network is w/ concurrent services, but that's not the case for you.
Also I assume that
Connected to printer. - less than a second, this one is very fast, it just counts the pages and then quickly exits.
implies that the network isn't the problem.
The debug log (based on the link you sent me) is over 13K lines long. I'm not sure what I should be giving you for that.
But the Fiery server (on the printer) says 24 MB.
What does it say for the odt?
Maybe the printer takes a raster graphics (ie. you're sending a bmp/png rendering of the pdf)…
Online
Hi Seth,
I've never heard of this 0x0.st thing That's really cool! Here's the link that it generated: https://0x0.st/XwWm.txt Edit: The Job number for my test I was talking about earlier, the 44 page pdf file is Job 1781.
I tested an odt file. It was 418 KB on the Fiery server. But the file on my local machine is 69.0 KiB. Is there a way to determine definitively that this printer is rasterizing? Er, maybe that is proof enough?
Last edited by TheDoors1967 (2024-09-06 23:48:49)
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
So the pdf blew up twice as much - some, but not excessive.
The filter that takes two minutes is
D [06/Sep/2024:14:33:17 -0700] [Job 1781] ppdFilterPDFToPS: Copying input to temp file \"/var/spool/cups/tmp/1702166e6e086\"
D [06/Sep/2024:14:33:17 -0700] [Job 1781] ppdFilterPDFToPS: Printer make and model: Xerox Color C70
D [06/Sep/2024:14:33:17 -0700] [Job 1781] ppdFilterPDFToPS: Using image rendering resolution 600 dpi
D [06/Sep/2024:14:33:17 -0700] [Job 1781] ppdFilterPDFToPS: Running command line for gs: gs -q -dNOPAUSE -dBATCH -dSAFER -dNOMEDIAATTRS -sstdout=%stderr -sDEVICE=ps2write -dShowAcroForm -sOUTPUTFILE=%stdout -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray -dLanguageLevel=3 -r600 -dCompressFonts=false -dNoT3CCITT -dNOINTERPOLATE -c \'save pop\' -f /var/spool/cups/tmp/1702166e6e086
D [06/Sep/2024:14:33:17 -0700] [Job 1781] ppdFilterPDFToPS: Started filter gs (PID 94243)
D [06/Sep/2024:14:33:17 -0700] [Job 1781] ppdFilterPDFToPS: Started filter pstops (PID 94244)
D [06/Sep/2024:14:35:12 -0700] [Job 1781] ppdFilterPDFToPS: PID 94244 (pstops) exited with no errors.
D [06/Sep/2024:14:35:12 -0700] [Job 1781] ppdFilterPDFToPS: PID 94243 (gs) exited with no errors.
D [06/Sep/2024:14:35:12 -0700] [Job 1781] ppdFilterPDFToPS: Closing files ...
And there's a humongous gap/stall in the job:
D [06/Sep/2024:14:33:17 -0700] [Job 1781] cfFilterChain: universal (PID 94240) exited with no errors.
D [06/Sep/2024:14:33:17 -0700] [Job 1781] Set job-printer-state-message to "cfFilterChain: universal (PID 94240) exited with no errors.", current level=INFO
D [06/Sep/2024:14:33:21 -0700] [Job 1781] prtGeneralCurrentLocalization type is 0, expected 2!
D [06/Sep/2024:14:33:21 -0700] [Job 1781] backendWaitLoop(snmp_fd=5, addr=0x64955b52a0d8, side_cb=0x64951c531920)
D [06/Sep/2024:14:35:11 -0700] [Job 1781] ppdFilterPSToPS: Before copy_comments - %!PS-Adobe-3.0
D [06/Sep/2024:14:35:11 -0700] [Job 1781] ppdFilterPSToPS: %!PS-Adobe-3.0
So let's see whether the printer speaks snmp at all, even potentially.
nmap IP.OF.THE.PRINTER # you're looking for 161/162, but the overall interface might be interesting
Here's people complaining about a meager 4s delay because of broken SNMP and disabling it: https://serverfault.com/a/674474 & https://cups.gcsysw.narkive.com/vfU82qW … tributions
Online
Hi Seth,
I tried that nmap command, and this was its output:
Starting Nmap 7.95 ( https://nmap.org ) at 2024-09-07 13:09 PDT
Nmap scan report for Brio-Clinical-2 (192.168.1.13)
Host is up (0.00026s latency).
Not shown: 979 filtered tcp ports (no-response)
PORT STATE SERVICE
20/tcp closed ftp-data
21/tcp closed ftp
25/tcp closed smtp
80/tcp open http
139/tcp open netbios-ssn
443/tcp open https
445/tcp open microsoft-ds
515/tcp open printer
631/tcp open ipp
5060/tcp closed sip
8010/tcp closed xmpp
8021/tcp open ftp-proxy
8022/tcp open oa-system
8080/tcp open http-proxy
8090/tcp open opsmessaging
8443/tcp open https-alt
9100/tcp open jetdirect
9101/tcp open jetdirect
9102/tcp open jetdirect
9103/tcp open jetdirect
9200/tcp open wap-wsp
Nmap done: 1 IP address (1 host up) scanned in 4.44 seconds
I don't see 161 or 162. So, does that mean it doesn't communicate with SNMP? Then I should probably disable it, is that right?
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
Yup, I'm not sure why it's attempted at all (though I guess it's the ppd's fault)
Online
Hello Seth,
I've disabled SNMP by adding the line
*cupsSNMPSupplies: False
to my PPD for this particular printer. Today I sent a typical print job to that same printer and it seems to still be doing the same thing. It started at 08:51:48 and didn't start printing until 08:55:50. The job is currently printing in that weird way I described in my initial post: about 5 pages at a time, as it it's still in the middle of receiving the job. On my end it's a 4.2 MiB pdf file, but the Fiery server says it's 55 MB.
Here's the cups log again https://0x0.st/XxH7.txt Edit: The print job was Job 1785
Last edited by TheDoors1967 (2024-09-09 16:15:14)
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
D [09/Sep/2024:08:51:48 -0700] [Job 1785] backendWaitLoop(snmp_fd=5, addr=0x595da1a6f198, side_cb=0x595d90aeb920)
Did you edit
D [09/Sep/2024:08:51:48 -0700] [Job 1785] envp[19]="PPD=/etc/cups/ppd/BC02-Grayscale.ppd"
and restart cups afterwards?
ls -l /etc/cups/ppd
sudo cat /etc/cups/ppd/BC02-Grayscale.ppd | curl -F 'file=@-' 0x0.st # curl runs as regular user and uploads the ppd to 0x0.st, you very most likely need to sudo cat because you'll lack permissions on the file
Edit: the big gap however is between
D [09/Sep/2024:08:51:48 -0700] [Job 1785] Set job-printer-state-message to "cfFilterChain: universal (PID 108079) exited with no errors.", current level=INFO
D [09/Sep/2024:08:55:48 -0700] [Job 1785] ppdFilterPSToPS: Before copy_comments - %!PS-Adobe-3.0
and inbetween is just stuff from the web server w/ the biggest gaps at
D [09/Sep/2024:08:51:48 -0700] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Active clients, printing jobs, and dirty files"
D [09/Sep/2024:08:51:49 -0700] Expiring subscriptions...
I [09/Sep/2024:08:52:19 -0700] Saving job.cache...
I [09/Sep/2024:08:52:19 -0700] Saving subscriptions.conf...
D [09/Sep/2024:08:52:19 -0700] cupsdSetBusyState: newbusy="Printing jobs", busy="Printing jobs and dirty files"
D [09/Sep/2024:08:52:19 -0700] Expiring subscriptions...
D [09/Sep/2024:08:54:21 -0700] cupsdSetBusyState: newbusy="Active clients and printing jobs", busy="Printing jobs"
Edit, more:
and didn't start printing until 08:55:50
D [09/Sep/2024:08:55:49 -0700] [Job 1785] Set job-printer-state-message to "Waiting for printer to finish.", current level=INFO
D [09/Sep/2024:08:55:49 -0700] [Job 1785] PID 108078 (/usr/lib/cups/backend/socket) exited with no errors.
D [09/Sep/2024:08:55:49 -0700] [Job 1785] time-at-completed=1725897349
I [09/Sep/2024:08:55:49 -0700] [Job 1785] Job completed.
You can monitor
sudo ls -l /var/spool/cups/tmp/
to see whether the 55MB file is already created on your site.
Last edited by seth (2024-09-09 20:26:21)
Online
Hello Seth,
I don't recall if I restarted cups before or after I updated the PPD to include that line. I'll try it again right now.
Here's my PPD file after restarting the cups service. My edit is still in there.
➜ ~ sudo cat /etc/cups/ppd/BC02-Grayscale.ppd | grep SNMP
*% To disable SNMP
*cupsSNMPSupplies: False
I've restarted the same print job, and it's still behaving the same way. Here's the log from cups. Finally, I was monitoring /var/spool/cups/tmp/ and this was the last few outputs of ls before the print job was sent to the printer.
total 116392
-rw------- 1 cups cups 4857430 Sep 9 14:03 256d866e4aad0
-rw------- 1 cups cups 0 Sep 9 13:59 cups-dbus-notifier-lockfile
-rw------- 1 cups cups 74 Sep 9 14:07 gs_Ba5AXw
-rw------- 1 cups cups 114317789 Sep 9 14:07 gs_HPhRKd
-rw------- 1 cups cups 3088 Sep 9 14:07 gs_yEGFBe
total 116392
-rw------- 1 cups cups 4857430 Sep 9 14:03 256d866e4aad0
-rw------- 1 cups cups 0 Sep 9 13:59 cups-dbus-notifier-lockfile
-rw------- 1 cups cups 74 Sep 9 14:07 gs_Ba5AXw
-rw------- 1 cups cups 114317789 Sep 9 14:07 gs_HPhRKd
-rw------- 1 cups cups 3088 Sep 9 14:07 gs_yEGFBe
total 116392
-rw------- 1 cups cups 4857430 Sep 9 14:03 256d866e4aad0
-rw------- 1 cups cups 0 Sep 9 13:59 cups-dbus-notifier-lockfile
-rw------- 1 cups cups 74 Sep 9 14:07 gs_Ba5AXw
-rw------- 1 cups cups 114317789 Sep 9 14:07 gs_HPhRKd
-rw------- 1 cups cups 3088 Sep 9 14:07 gs_yEGFBe
total 4752
-rw------- 1 cups cups 4857430 Sep 9 14:03 256d866e4aad0
-rw------- 1 cups cups 0 Sep 9 13:59 cups-dbus-notifier-lockfile
-rw------- 1 cups cups 74 Sep 9 14:07 gs_Ba5AXw
-rw------- 1 cups cups 3088 Sep 9 14:07 gs_yEGFBe
total 0
-rw------- 1 cups cups 0 Sep 9 13:59 cups-dbus-notifier-lockfile
total 0
-rw------- 1 cups cups 0 Sep 9 13:59 cups-dbus-notifier-lockfile
I'm not sure what this means. The gs_HPhRKd file's size was ticking up incredibly fast before it hung on 114317789 for less than a second and finally disappeared.
Edit: To clarify, I was using a for loop so that ls's output was updated continuously while the print job was being generated. The final size of that file remained for less than a second on the screen before they disappeared.
Last edited by TheDoors1967 (2024-09-09 22:04:37)
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
You're creating a 110MB temporary file what smells like PS1
This will likely create a huge MDR_20240909084602_90874.ps
pdftops -level1 MDR_20240909084602_90874.pdf MDR_20240909084602_90874.ps
Does generating/printing that PS1 take a lot of time?
PS2 should be significantly smaller:
pdftops -level2 MDR_20240909084602_90874.pdf MDR_20240909084602_90874.ps
And the main question then is: does PS2 print (much) faster?
Obviously you don't have to waste any toner - you can test that on the next PDFs that are due
Online
Hi Seth,
These 94 pages are peanuts, I'm happy to keep testing just to keep things consistent. I tried the first command, it generated in 11 seconds on the dot. The second command took 13.19 seconds. What's really weird is that level1 generates a huge 1.4 GiB file, while level2 gives me just 30.5 MiB. Is this normal?
I sent the two ps files to the printer using
lpr -P <printer_queue> test.ps
The level2 ps file took a few minutes to get going, but once it did the printer no longer needed to pause while printing, so that's progress! Here's the cups log for it.
The level1 ps file took just under 30 seconds (what??) and also printed without pauses. Even better progress!! Here's the cups log for it.
What I find really strange about this is the fact that all together generating a level 1 post script file first, then printing it myself is a heck of a lot faster than relying on cups to do everything itself (all hail the mighty terminal is guess). What barrier am I eliminating when I do this? I would guess that cups is trying to create a level 2 ps file when left to its own devices, but that doesn't explain why normal print jobs do that weird pausing behavior.
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
What's really weird is that level1 generates a huge 1.4 GiB file, while level2 gives me just 30.5 MiB. Is this normal?
Yup.
I suppose the printer has to convert the ps2 into ps1 what causes the delay and breaks there. And I guess the PPD also generates PS level 3 ("pdftops -level3")
…
*NonUIConstraints : *CustomPageSize True *XRPunchOption*% =============== Device Capabilities ===============
*LanguageLevel: "3"
*Protocols: BCP PJL TBCP
*1284Modes Parallel: Compat Nibble ECP
*1284DeviceID: "MANUFACTURER:XEROX;COMMAND SET:;MODEL:Color C70;CLASS:PRINTER;COMPATIBLE ID:;DESCRIPTION:Xerox Color C70;"
…
You could try to set that to level 1…
I found some documentation on the internet™ that suggests the printer even supports PDF directly (I'd try that w/ a very small, basic, document because worst case it prints the bytes…)
https://www.redcheetah.com/wcs/totaloff … 0Guide.pdf
But like PS2 and PS3 it might require (slow) internal conversion.
Edit: EBEBBF (byte error between brain and fingers) detected
Last edited by seth (2024-09-10 06:48:45)
Online
Hello Seth,
I've changed that setting to
*LanguageLevel: "1"
Restarted cups again, and retried the same print job. Here's the cups log again, this time it's Job 1791. It took a few minutes to get going. It's still doing the same pausing behavior, though. I've taken a look at the log to see if this setting is mentioned. I see that the last time LanguageLevel is mentioned is at this line:
D [10/Sep/2024:09:09:09 -0700] [Job 1791] ppdFilterPSToPS: %%LanguageLevel: 2
Maybe the printer actually prefers PS2, and converts all print jobs to 2 before it starts?
I tried that. set the LanguageLevel to 2, restarted cups. Here's the cups log for that test, Job 1792. It took a few minutes again to get going. But again it's still pausing between a handful of pages at a time.
I checked out that documentation about the printer, but I don't know how to set the printer to print pdfs directly. Researching online I didn't find a good answer on how this is done, is it something that's set on the printer itself?
In my research, I found this brochure for that printer which states that it uses PostScript 3 for printing pdfs.
https://www.office.xerox.com/latest/X60BR-01U.PDF
I'm really outside my knowledge base here though. So, not sure what to make of this I really appreciate your continued attention to this though.
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
I checked out that documentation about the printer, but I don't know how to set the printer to print pdfs directly. Researching online I didn't find a good answer on how this is done, is it something that's set on the printer itself?
The plan would be to just send a SIMPLE SHORT pdf directly to the printer queue, "lpr -P <printer_queue> test.pdf"
Best-case scenario would be to use IPP Everywhere (the printer isn't in the list of supported printers, but has IPP/631 open and if it prints pdfs…)
Again: simple and basic, or this can blow up in pages really fast.
Online
Hi Seth,
My bad, I was overthinking it! I tested a 1 page document. I switched the LanguageLevel setting back to 3.
lpr -P BC02-Grayscale aetna-appeals.pdf
It printed just fine, here's the cups log, Job 1793.
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
Sorry, I thought to the printer directly, bypassing the local cups.
You're currently printing via the jetdirect port, but the printer also has port 631 open.
The ultimate, most elegant goal would be something like
lpadmin -p "POS C70" -E -v "ipp://Brio-Clinical-2/ipp/print" -m everywhere
and use that printer (requires the cups-pdf package)
This way the client (generates and) sends pdf's to the printer which that prints directly.
Another thing, unrelated to that:
Since the logs haven't changed wrt the lanugage level or snmp queries, I'd also try to create a test printer and add your altered PPD directly to make sure the printer driver isn't currently operating on some cached copy of the PPD.
Online
Hi Seth,
I ended up creating this printer using lpadmin:
lpadmin -p "POS_C7" -E -v "ipp://192.168.1.13/ipp/print" -m everywhere
It's using the same internal IP as the one we've been discussing. I then sent a print job to it:
lpr -P POS_C7 aetna-appeals.pdf
But the job got stuck in queue with Status Message Filter failed. I know I have cups-pdf package installed, did I do this right?
About making a test printer, I temporarily removed this printer, and remade it using CUPS' browser interface, add the printer with the new PPD, SNMP disabled, Post Script level at 1. Restarted my PC just in case. I tested the larger pdf file again, and here's the cups log, Job 1796. Again, it's still doing the same thing.
I still see the following lines in the log:
D [10/Sep/2024:16:44:07 -0700] [Job 1796] backendWaitLoop(snmp_fd=5, addr=0x5595c86e7198, side_cb=0x5595c0281920)
D [10/Sep/2024:16:48:08 -0700] [Job 1796] backendRunLoop(print_fd=0, device_fd=6, snmp_fd=5, addr=0x5595c86e7198, use_bc=1, side_cb=0x5595c0281920)
D [10/Sep/2024:16:44:07 -0700] [Job 1796] ppdFilterPDFToPS: Running command line for gs: gs -q -dNOPAUSE -dBATCH -dSAFER -dNOMEDIAATTRS -sstdout=%stderr -sDEVICE=ps2write -dShowAcroForm -sOUTPUTFILE=%stdout -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray -dLanguageLevel=1 -r600 -dCompressFonts=false -dNoT3CCITT -dNOINTERPOLATE -c \'save pop\' -f /var/spool/cups/tmp/008d266ed0208
D [10/Sep/2024:16:48:08 -0700] [Job 1796] ppdFilterPSToPS: %%Invocation: gs -q -dNOPAUSE -dBATCH -dSAFER -dNOMEDIAATTRS -sstdout=? -sDEVICE=ps2write -dShowAcroForm -sOUTPUTFILE=? -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray -dLanguageLevel=1 -r600 -dCompressFonts=false -dNoT3CCITT -dNOINTERPOLATE ?
D [10/Sep/2024:16:48:08 -0700] [Job 1796] ppdFilterPSToPS: %%LanguageLevel: 2
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
I'll come back to this on Sunday - if you want to research it yourself, try to google for ways to force cups to print postscript level one.
As mitigation, "pdftops -level1 file.pdf | lpr -P BC02-Grayscale" will (should™ ) locally convert file.pdf into PS1 and pipe it into lpr to print it (so you can probabyl print fast w/o creating huge temporary files on disk)
Keep in mind that this involves a lot of network traffic for the humongous level1 postscript descriptions.
Online
Hi Seth,
I'll see what I can find. I think I'll have to print using the terminal for the time being, like in the earlier tests. I'll circle back to this probably tomorrow to let you know.
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
Do you have more luck w/ https://www.openprinting.org/printer/Ge … _1_Printer ?
Online
Hello Seth,
I wasn't at work Friday, sorry I didn't get a chance to send this until now.
I was looking around some forums and I found this discussion about how to "Print to PDF printer without PS conversion". In it, I saw you can add this line to a PPD to force the printer to print PDFs in PDF format:
*cupsFilter: "application/vnd.cups-pdf 0-"
Just in case, I double checked that I have cups-pdf installed. When I printed a page through Firefox, the printer's queue never got the job. Here's the cups log for when I attempted it. I couldn't find evidence of any job trying to be created. I then read this CUPS PPD Extensions page to learn more about that cupsFilter option. I learned "If a printer supports the source type directly, the special filter program "-" may be specified." But I don't know where in this line this would have to go:
*cupsFilter: "source/type cost program"
I tested it out with just *cupsFilter: "-". This time I printed using lpr in terminal and I get this error message:
lpr: Unsupported document-format "application/pdf".
So I think I did it right, it parsed the cupsFilter line correctly and is trying to use the application "pdf".
Regardless, I tried it with "application/cups-pdf" next, and I get the same error message. Just in case I wasn't dealing with the possible cached version of the PPD, I commented out the cupsFilter line, and retried. It printed as normal, I don't think there's any caching issue in play.
I used the Generic PS ppd you shared here, I had a couple dozen 1-3 page documents to print this morning and they all came out as a blank page that says "Unknown device: pswrite". I didn't catch this until after the fact, so I redid it to generate this cups log, Job 1827.
(\ /)
( ' . ' )
(,,,) (,,,)
Offline
*cupsFilter: "application/vnd.cups-pdf 0-" is borderline the correct syntax, but there should be a blank between the "0" and the dash. Local typo or also in your ppd?
But the printer has previously also refused to print PDFs directly, hasn't it?
https://stackoverflow.com/questions/245 … ce-pswrite
:sigh:
So we've a printer that likes ps1, but pretty much nothing else does.
Here's from the log w/ the xerox ppd:
D [09/Sep/2024:14:03:15 -0700] [Job 1786] ppdFilterPDFToPS: Running command line for gs: gs -q -dNOPAUSE -dBATCH -dSAFER -dNOMEDIAATTRS -sstdout=%stderr -sDEVICE=ps2write -dShowAcroForm -sOUTPUTFILE=%stdout -sProcessColorModel=DeviceGray -sColorConversionStrategy=Gray -dLanguageLevel=3 -r600 -dCompressFonts=false -dNoT3CCITT -dNOINTERPOLATE -c \'save pop\' -f /var/spool/cups/tmp/256d866e4aad0
https://stackoverflow.com/questions/232 … om-filters
=> https://bbs.archlinux.org/viewtopic.php … 8#p1732588
lpadmin -p BC02-Grayscale -o pdftops-renderer-default=pdftops
which will hopefully allow it to respect the PPDs level1 setting?
Online
Hi Seth,
Sorry for the late reply again, we're working on a large project at work so I don't have much free time anymore to continue troubleshooting. I took a look at these forums posts you sent and from what I gather, (1) the Generic PS 1 Printer PPD is basically bugged because of obsolescence. Fine, we don't have to use it anyway. (2) The printer I'm working with seems to attempt to filter through PS 1 every print job? Is that what you mean? (3) And lastly, the lpadmin command you provided is to I don't quite get what pdftops-renderer-default=pdftops means but I tried it anyway. Here's another test log for a large pdf, Job 1853.
Behavior update, the queue displayed Status Message "Connected to printer." the whole time, instead of that Filter "error" message that I always saw. The Pages count ticked up at a rate of about 1 every three seconds, so a little slow but it was fine. The printer immediately started printing the pages though before the page count finished, which is definitely new. But since it was still receiving data it still stopped here and there to catch up. However, all in all it was much faster than what I've had before. I'm tempted to settle for this new norm, it might be the best we can do. What do you think?
Oh! Before I close this out, I was reading some more posts about this "pdftops-renderer-default" option, and a sneaking suspicion grew within me that this was going to affect files that are not pdfs. I tested a typical odt file I print, and it came out with tons of question marks in boxes, and special characters. So this isn't solved just yet. I suppose a work around is to simply export my files to PDF, but I create form letters... well I suppose I can just convert form letters into single pdfs. But the whole point of this question is about convenience.
(\ /)
( ' . ' )
(,,,) (,,,)
Offline