Thursday, August 21, 2025

Inside PDF Annotations

Howard Oakley:

Preview has had more than its fair share of bugs in handling PDF annotations. During my research for this article, Preview 11.0 (1069.7.1) in macOS 15.6 was generally well behaved, but did mangle comments added to a test document by PDF Expert and Adobe Acrobat. Preview has two behaviours that can appear disconcerting: that of its Highlights and Notes tool, and its use of versioning.

[…]

If Preview saves a mutilated PDF, you should be able to recover the previous version of that file using Revisionist or Versatility.

Previously:

6 Comments RSS · Twitter · Mastodon


PDFKit seems to be getting worse and worse over time. I feel like it was better five years ago.


> If Preview saves a mutilated PDF, you should be able to recover the previous version of that file using Revisionist or Versatility.

At least, for the mutilation cases I'm facing with PDF annotations (where I can't open the PDF in Preview), duplicating the PDF file in the Finder and opening the copy works and I keep the changes.

@ObjC4Life: "I feel like it was better five years ago."

Not sure. Unless Preview is not using PDFKit on macOS 10.14, the same bugs are there.


@stephane Yea these bugs may have been around for a long time. But overall interacting with PDFs (selecting stuff etc.) seemed to work better in the past.

I remember some NSNotification (maybe it was PDFViewDocumentChangedNotification) stopped getting posted and running into some other issues. I think they rewrote PDFKit a few years ago and some new issues popped up around that time.


The stagnation of Preview/PDFKit is one of the worst failings that Apple has done to macOS. The biggest issue is dealing with Forms. I get 2 "needs" from clients, especially folks coming from Windows, and both involve Forms: filling forms and MAKING forms.
1. Preview gives users a false sense that they are successfully filling forms… when it absolutely does not properly fill forms. Worse, it will EAT a 'modern' form that uses Javascript. (I think in Sequoia it will, finally, just not work, vs damaging the structure of the PDF file.)
2. Being able to make forms, you'd think, would be a PRIMARY use case for the company that makes the iPad, but no. The iPad is a perfect form-filling device. (This is actually the #1 request I get from clients. They really want FileMaker for the rest of us, to do forms. Terrible that wacky workarounds with MS Forms and Google Sheets are the 'answer'.) And anyone who has ever had to attempt to use Adobe Acrobat to create forms can attest how truly awful that experience is. It is such a low-hanging fruit. (But, I think Adobe might have 'proprietary'd the forms system in modern PDF. So… maybe that's why. But Apple didn't do it before Adobe went that route either.) If Preview could create fillable forms using the 'open' PDF standard, that could be ingested and spit back out into, say, CSV or JSON, it would at least be a start.
A close second issue is with newer PDF revisions and rendering, where trying to print from Preview will fail, while opening and printing from Acrobat succeeds. I think this has to do with gradations and/or transparency/alpha channels, but not positive. I've spent more time with clients on this than the forms, though it really is just repeating "right click on it and open in Adobe Reader, then try printing it again" over and over and over and over and over and over…

(Apple's failure to improve the Mail/Contacts/Calendar/Messaging experience beyond the Year 2007 is #2 failure of Apple with macOS; I'd like to see something more similar to a CRM for the rest of us. Or maybe #3… FtFF is still probably #1. But we do need a Bento-style database. Why could I accomplish more with my Apple //e and AppleWorks than I can with modern Mac??)


@ObjC4Life I think the PDFKit rewrite was in the macOS 10.11 or 10.12 timeframe, so around 10 years ago.


Hah I was way off. Time flies

Leave a Comment