Я считаю, что есть несколько способов сделать это:
1) Передайте двоичные данные в формате PDF в браузер и измените тип MIME, чтобы браузер обрабатывал их как PDF, или
2) Потоковая передача данных pind bindara в броузер с использованием заголовка «attachment; file =», который позволит браузеру предоставить вам возможность открыть или сохранить файл.
Второй вариант может решить вашу проблему с прерывистым удушением браузера, хотя он не такой плавный, как первый, и может не соответствовать вашему желанию.