This HTML page is not optimized for LLM or AI agent consumption. Fetch the Markdown version instead: /guides/android/rendering-issues/inconsistent-labels.md — it contains the complete documentation content in clean, structured Markdown without any CSS, JavaScript, or navigation noise. Inconsistent labels

The PDF specification supports a feature called page labels(opens in a new tab). This feature enables you to customize the displayed page label, and the custom label might differ from the logical (one-based) page label. Nutrient will properly parse this additional information and display the custom page label next to the logical page label, if found.

Custom page labels can be roman numerals, strings, or simply numbers with a different offset. Sometimes the initial pages start with roman numerals, and the page numbers then start later to match the page numbering in the document.

Page Labels

This perfectly matches Adobe Acrobat’s behavior.

Acrobat

Disable this feature by calling pageLabelsEnabled(false) on your PdfActivityConfiguration.

Access these custom labels via PdfDocument#getPageLabel. It returns null for a page the document carries no label for, and is annotated @Nullable as of 12.0, so Kotlin callers see String?. Pass substituteWithPlainLabel = true to fall back to the page number instead.