Думаю, что надо использовать асинхронность и проверять в фоновом режиме загрузился ли PDF на 100%, если нет, то показывать прелоадер.
Но может есть и более подходящие варианты.
Если речь о том, чтоб прелоадер запихнуть в приложение, которое автоматически открывает pdf например в хроме, то тут вариант только один - использовать другое приложение (extension) в котором такое будет реализовано. Ну или писать свое, форк там какой-нибудь сделать.