我有一个返回PDF的servlet.我尝试做的是将PDF加载到Ext.Window.以下是示例源
Ext.getCmp('hisAmpPhyWin').load(
{
url:'servlet/Servlet/',
params: {xhtml:xhtmlData},
text: 'Loading PDF...',
scripts: false
});
Run Code Online (Sandbox Code Playgroud)
其中'hisAmpPhyWin'是一个Ext.Window实例.
事情是它显示PDF内容(我的意思是ascii字符)而不是浏览器中的实际PDF.
请帮助解决此问题.
我认为你可能最好使用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();
Run Code Online (Sandbox Code Playgroud)
注意:如果浏览器知道内容类型,则浏览器仅以 PDF格式打开数据,在这里您使用AJAX 方法忽略从servlet响应返回的内容类型,但是如果您使用IFRAME直接引用它,则浏览器将应用正确的MIME格式.application/pdf.load()
不要忘记确保窗口的每个实例都被销毁(closeAction = 'close'默认设置),否则它会一遍又一遍地打开相同的PDF文档.
| 归档时间: |
|
| 查看次数: |
2661 次 |
| 最近记录: |