PDF — the Portable Document Format — is PostScript's imaging model with the programming language taken out. Paths, text, images and color spaces are described the same way, but a page is stated rather than computed, so a PDF opens without anything being executed.
See PostScript for the shared imaging model and for the language
that .ps files are written in.
Paintapp opens a .pdf as an editable document rather than as a picture of one. Each
page becomes a spread carrying real paths, real text and real images, and a modern Illustrator
file — which is a PDF underneath — comes in through the same door.
| Feature | Details |
|---|---|
| Multi-page documents | Nested page trees and inherited attributes |
| Stream filters | Flate, LZW, ASCII85, ASCIIHex and RunLength, with PNG and TIFF predictors |
| Color spaces | Device, calibrated, ICC-based, Lab, indexed, separation and DeviceN |
| Color handling | Kept in the model the file states — a CMYK page stays CMYK, inks intact |
| Vector artwork | Editable path layers — every path operator, with caps, joins, miter limit and dash patterns |
| Text | Editable text layers, in the model the file states |
| Embedded fonts | Type 1, CFF and TrueType, including composite fonts |
| Images | JPEG, JPEG 2000 and CCITT fax, plus inline images, stencil masks and soft masks |
| Gradients and shadings | Including mesh and patch shadings |
| Form XObjects | Followed and drawn with the page |
| Encrypted PDFs | Owner-password files with an empty user password open silently |
| XMP metadata | Read into File Info |
| 3D annotations | Embedded U3D scenes open as a 3D stage |
| Illustrator PDFs | Editable Illustrator data is used when present |
Stream filters and color spaces are shared with PostScript; see
PostScript for that coverage. The image codecs reach further
here: JPEG is common to both, but JPEG 2000 and CCITT fax are read in a PDF and not by the
interpreter's filter operator. See Illustrator for
what editable Illustrator data brings with it.
| Limitation | Result |
|---|---|
| JBIG2 images | Skipped; the rest of the page draws |
| Soft masks stored as JBIG2 | The image is drawn fully opaque |
| Soft masks at a different size from their image | Not resampled; the image is drawn fully opaque |
| Stencil (/Mask) images used as a mask | Not applied; the masked image is drawn fully opaque |
| Clipping paths | Accepted but not applied; artwork can spill |
| Tiling patterns | Not painted |
| Mesh shadings used as a pattern fill | Not painted |
| Function-based (type 1) shadings | Not painted |
| Page rotation and crop boxes | Ignored; the full media box is shown unrotated |
| Rendering intent | Ignored; conversions use the profile's own intent |
| Stroke opacity, blend modes and soft-mask groups | Not applied; fill opacity is |
| Optional content groups | No layer switching; hidden content is drawn |
| Annotations other than 3D scenes | Not drawn |
| Files with a real user password | Refused; there is no password prompt yet |
| Type 3 fonts | Glyphs are drawing programs, not outlines; the text is reported and not drawn, and following text still lands correctly |
| Invisible OCR text | Not kept; a scanned page opens with its image but no searchable text |
| Predefined CJK encoding CMaps | Codes are split correctly but not mapped |
| Type-4 (PostScript calculator) tint transforms | Reported; the color is left unchanged |
Nearly all of these fail narrowly — one image or one shape is skipped, and the rest of the page still opens.
Every page becomes one spread layer, named Page 1, Page 2 and so on, stacked vertically. The document is as wide as its widest page and as tall as the whole stack.
A page's size comes from its media box, and the box's lower-left corner is honored, so a page cropped in place still draws its marks in the right position.
Objects are found by reading the whole file rather than by trusting the cross-reference offsets, so a file whose table has drifted out of step with its body still opens.
Most protected PDFs have an owner password and restricted permissions but an empty user password, which is why they open without a prompt. Paintapp opens that whole class silently, covering 40-bit and 128-bit RC4, AES-128 and AES-256.
A file needing anything else — a real user password, a certificate-based handler, or another algorithm — is refused.
From version 9 onward an .ai file is a PDF, and the PDF page is a
flattened rendering of the artwork. Illustrator therefore stores its own editable copy of the
document alongside that page — the same thing that Preserve Illustrator Editing
Capabilities puts into an exported PDF.
When that data is present, Paintapp reads it and ignores the flattened page, which keeps layers, groups, object names, editable gradients and spot colors. Otherwise the PDF page itself is drawn. XMP metadata is carried across either way. This depends on the file, not its extension. See Illustrator.