Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • P poppler
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 687
    • Issues 687
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 52
    • Merge requests 52
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • poppler
  • poppler
  • Issues
  • #1161
Closed
Open
Issue created Oct 24, 2021 by Valentin Bruch@valentinb

Qt API: Document::page(const QString &label) not working in some documents

When using the Qt 5/6 API of poppler, for some documents pages cannot be found by their label. Given an affected PDF document this means that for any Poppler::Page* page in the document:

document->page(page->label()) == NULL

although the pages do have valid labels.

A code snipplet to test this issue and two test documents (one which shows the bug and one which doesn't) are attached: poppler_pagelabels.tar.gz

The problem is found in the qt5 and qt6 API of poppler 21.10.0, but also in older versions at least since 21.07.0.

This might be related to the way how page labels are defined in the PDF. In the attached baddocment.pdf all page labels are defined entirely via the prefix (/P) of the page label and the page label object does not include a numbering style (/S).

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking