Before you even suggest that you dip your hand in your pocket and pay for software to work with PDF documents, I should explain what you get for free with macOS. You may not have to buy anything at all.
Because PDF support as a format is built very deeply into macOS, there is a lot you can do before you get any other apps. Create PDF documents is supported in all applications that support printing. Printing is performed efficiently by the app that generates the document to a page-based virtual display to create a PDF intermediate, which is then converted by the printer driver to the data required by the printing machine. When using the default print dialog box, at the bottom left is a pop-up menu that offers PDF services.
Some items in that menu are added by MacOS and the included tools. Others are added when they are installed in a Library / PDF Services folder. As they capture the usual printing process, they use the built-in PDF engine, and as far as I'm aware, I can't offer any options. PDF documents created using PDF services appear in their metadata, which is now conveniently displayed in the Finder, as encoded by "MacOS Version 1
Many apps, including Safari, provide the most better options that are specifically tailored to create PDF documents. These can write the PDF file according to variant standards, such as PDF / A for archival purposes, and usually follow the same virtual im aging model and use the Quartz PDF engine in macOS.
Apps specifically designed for document quality creation, such as QuarkXPress, set a variety of options in a Export … menu command. These can store the document so that it is compatible with variant specifications such as PDF / A, PDF / X and PDF / UA, but requires the app to provide significant additional code to process the data generated by the quartz engine. This is usually integrated into that app and not available to other apps. In some cases, they can even provide their own PDF engine – QuarkXPress, for example, draws documents like "QuarkXPress (R) 14.21" instead of Quartz.
Working with PDF
The main user interface of MacOS PDF features is the merged preview program, which has surprisingly rich facilities for working with PDF documents that are not completely obvious. It is also the only bound tool that can convert documents from another format and store them in PDF: Preview opens PostScript files, makes them a virtual display, and offers it as a PDF document. This was a task originally preserved by Adobe Distiller, and a key point of sale for early Adobe PDF products. Although PostScript to PDF conversion is much less common since the introduction of Mac OS X, there is still a valuable feature that few users know about.
Unfortunately, old PostScript files often have issues that prevent Preview and Acrobat from successfully converting them. When that happens, it's usually impossible to fix.
Preview contains extensive support for annotating PDF docume nts, and will add them as annotation objects in the document source, and modify the PDF. Included with these are support for form filling and signature. It can also rotate pages and re-order them, but Preview cannot edit the contents of existing pages other than their annotations.
As with the Quartz Engine itself, Preview is a general PDF tool and is not intended to provide specific support for PDF variants. When you open a PDF / A document, it recognizes it and locks the file so that the original cannot be changed. Adhering to prepress variants like PDF / X-4 isn't good, though. On the test page below, which carries some of the support for spot colors in the PDF / X-4 standard, graphics containing an X error are.
You cannot save an existing PDF in a variant either: the options available in Preview's Export as PDF … Command is very simple and clear quartz in their nature.
Its app-wide preferences for PDF viewing and editing are similarly very limited.
Preview is thus a good general PDF viewer with features that enable users to annotate, fill out forms, sign and execute page management. You can select content to copy and paste into other apps; This uses Rich Text format as far as possible and also includes images. It cannot export entire documents to another format, such as RTF or Word. If you want to treat PDF that adheres to variants, including PDF / A, PDF / X and PDF / UA, Preview does not handle them in any particular way and has only limited value reading for them.
For the developer, however, the Quartz PDF engine in macOS provides much more if they are prepared to try to use their full features. PDFKit, as shown in the previous coding demonstration here, provides high level features that are comparable to those in Preview, which include page management and annotations. To support page content editing and managing variations, the developer must enter the weeds of CGPDFDocument and its related classes, which are powerful and long established in macOS, remain relatively well documented.
This establishes baseline for PDF functions. In future articles I will look at which third-party tools can offer. These include PDFpenPro 10, PDF Expert, Adobe Acrobat Pro DC (version 19) and Skim.