Split PDF parser into two components to respect SRP