Why PDF to MusicXML is hard, and how this one checks itself
A PDF of sheet music does not know it is music. It is a page of shapes and font glyphs at positions: a note head is a character from a music font, a stem is a line, a beam is a filled shape. Getting MusicXML out of it means finding the staves, naming every symbol, and rebuilding the rhythm from where things sit.
This reader works from the vector data itself, not from a picture of the page, so a note head is never mistaken for a smudge. After it reads a bar it adds the lengths up. A bar that does not fill its time signature is counted and reported, so you know where to look before you open the file in your notation program.
It reads PDFs exported from notation software (MuseScore, Sibelius, Finale, Dorico, LilyPond, Guitar Pro), where every note is a symbol in the file. A scan or a photo of paper is a picture, and it says so instead of guessing.
The converted score is engraved again on this page before you download it. If the first page looks like the original, the rest almost always does too.