Post

Replies

Boosts

Views

Activity

Reply to Where is a bank of examples for using each function in PDFKit?
There isn't really a 'bank' of examples. Places like the Big Nerd Code Ranch have Xcode tutorials for creating apps that display PDFs using PDFView. Most of the original Quartz coding books were written before PDFKit was introduced, so use CGPDFDocument instead of PDFDocument, etc.I've produced a suite of python scripts that use PDFKit to do pretty much everything that PDFKit can do. As well as being functional, they're designed to be exemplars of how PDFKit works. If you know Swift, and are working in Xcode, then it should be easy to translate to Swift. On github, find /benwiggy/PDFsuite
Mar ’20
Reply to Bug or problem with indexing PDFOutline in PDFKit
Just adding to this problem. I'm confused by Apple's documentation for PDFOutline. It says: "The index of the outline object is relative to its siblings and from the perspective of the parent of the outline object. The root outline object, and any outline object without a parent, has an index value of 0." So that suggests that Outline objects added to the root Outline should have a non-zero index. But, when I try to add the first child with an index of 1, I get an NSArray Beyond Bounds error.
Jan ’21
Reply to PDF Service no longer working in Big Sur
I've found a fix until Apple decides to slacken off its evil grip over my computer. ;-) In Automator, make an Application that runs your shell script. Raw scripts, Print plug-ins, workflows or other kinds no longer work as PDF Services. This works for me with my python directly in the Automator "Run Shell Script" action. Whether it will let you pass control to a separate process, I don't know.
Feb ’21
Reply to Understanding Optionals and Types (again)
"normally domain should not be nil (you risk a crash in filters)" What should it be? "you get the same result, because of the cast as!." The same result as what? "Result is optional, but cannot be nil, it is forced unwrapped" If it cannot be nil, then why does it need to be optional? And why is it Any, and not 'actual' QuartzFilter? And what about the two different types of property? In your function, the result is a force unwrapped Any -- so why does it return an Optional? I guess this is just a complaint about the way that Apple has chosen to do things, which doesn't really seem to have any benefit, but I suppose I'll have to live with it. More exclamation marks!!!
May ’22