PDF problems in iOS 17 and Ventura

I am having problems with .pdf-files on an iPhone SE 3 with iOS 17.0.1. My local bus schedule should look like this:
Untitled3

I get the schedule via Safari and download it as .pdf.
When displayed in iOS 17.0.1 it looks like this:
image
Doing the same with a Mac mini M2 with Ventura 13.6 displays correctly but trying to print it on a HP LaserJet Pro M454dw brings the error below:

ERROR: undefined
OFFENDING COMMAND: New

STACK:

/AAAAAC+*Times
/FontName

On an iPod Touch 7 with iOS 15.7.9 it works as expected. Older downloads on the Mac, that used to print correctly, will not print after the latest upgrade. Before the upgrade to iOS 17 the schedules used to display correctly. The printer has not been upgraded in between.

I suspect the Postscript translator. The complete line starting with /AAAAAC-Times in the stack above is actually /AAAAACTimes New Roman-27 in the Postscript file. I think the interpreter interpretes the New as a command. Thus the OFFENDING COMMAND: New. The font is named Times-New-Roman-27 in most other lines of the postscript code.

I would like to try to send the Postscript file to the printer to experiment with it. How do I do that?

Anybody else have problems with .pdf-files after the latest round of upgrades?

The lack of hyphens in one instance of the font name does seem to be a likely suspect.

I don’t have a Mac running Ventura yet, so the following is based on what I see in Big Sur’s System Preferences interface vs. Ventura’s System Settings. To send a PostScript file to a printer, navigate to the Printers & Scanners area of Settings, select the intended printer, look for a button labeled Open Print Queue and click to open the printer’s queue as window. Drag and drop the PostScript file into that window. If it doesn’t begin processing, look for a button labeled Resume and click it to start the queue.

Since PostScript files are text-based you may be able to edit that font file name to see if it improves the result. I’m curious to hear the results of your tests.

3 Likes

Thank you Scott5 for the tip on how to send Postscript files directly to the printer. Hyphenating the font name, i.e. replacing “Times New Roman” with “Times-New-Roman” using TextEdit and sending it to the printer worked beatifully. The bus schedule printed without Postscript errors.

Incidentally the same bus schedule file displays correctly on the iPod Touch with 15.7.9 as noted in the original post and also on an iPad with iOS 16.7. Ergo, iOS 17 must be the culprit.

Although the iPhone SE does not display the schedule correctly it does print it with no problems from the Safari screen it is displayed in, using the Safari share symbol and its print option, on the Mac mini connected printer. Weird!

2 Likes

Gilken, regarding the weirdness you point out, perhaps iOS 15x and 16x employ some additional fault tolerance mechanism to correct minor PostScript errors that is missing in iOS 17? If there is any truth to that idea then the logical next question is why would iOS 17 not be consistent with prior versions? It has me wondering if malformed PostScript is a serious security risk and Apple has reduced or removed a level of tolerance for it, but does not have all supported OSes and apps on the same page yet.

I have the same problems with Sonoma, darn it. The trick to send Postscript-files to a printer (drag the .ps-file to the print queue window) does not work in Sonoma. Do you, Scott5, or someone else, have another trick up your sleeve?

Unfortunately, it looks like Sonoma is the death of built-in PostScript functionality on the Mac. Here are a couple of articles from Howard Oakley that might be useful. The latter article describes a workaround solution using a Monterey virtual machine. Depending on your workflow and the frequency that you encounter PostScript files, it may be better to investigate using Ghostscript, Acrobat Distiller, or a Linux computer/VM (which relies on Ghostscript).

1 Like

Hi Gilken - You mentioned in your original post that you are using a LaserJet Pro M454dw, which has its own, built-in PostScript interpreter, albeit a cloned/emulator version. How are you connecting to it? AirPrint? IPP? LPD? JetDirect? I wonder if using LPD over IP would allow you to use the printer queue trick.

Gilken, in following josehill’s excellent lead to Howard Oakley’s article on the demise of PostScript in Sonoma I see there is an individual in the comments section who has assembled and posted an AppleScript app for drag & drop conversion of PostScript and EPS files to PDF… PostScript to PDF for macOS The link takes you to a page that explains the app, steps to use, and a download link.