The PDF spec supports a feature called "page labels". This allows to customize the page label displayed, which might is different to the logical (1-based) page label. PSPDFKit will properly parse these additional information and displays the custom page label next to the logical page label, if found.
Custom page labels can be roman letters, strings, or simply numbers with a different offset. Sometimes the initial pages start with roman letters, and the page numbers then start with 1 later, to match the page numbering in the document:
This perfectly matches Adobe Acrobat's behavior:
You can disable this feature with setting
You can also access these custom page labels via pageLabelForPage:substituteWithPlainLabel:.