Я думаю, вам лучше использовать для этого тег IFRAME
.
var win = new Ext.Window({
title: 'PDF Content',
width: 420,
height: 320,
plain:true,
html: String.format(
'<iframe src="servlet/Servlet?p1={0}&p2={1}" width="400" height="300" />',
xhtmlData.p1, xhtmlData.p2)
})
win.show();
Примечание: браузер только открывает ваши данные в формате PDF, если ему известно, что тип контента равен application/pdf
, здесь вы используете метод AJAX .load()
, который игнорирует тип содержимого, возвращаемый из ответа сервлета, однако, если вы обращаетесь к нему напрямую с помощью IFRAME, браузер применит правильный формат MIME .
Не забудьте убедиться, что каждый экземпляр вашего окна уничтожен (closeAction = 'close'
, который установлен по умолчанию), иначе он будет снова и снова открывать один и тот же документ PDF.