论坛首页 入门讨论版 企业应用

如何将JSP或者HTML页面转换成word,jpg,pdf

浏览 1296 次
该帖已经被评为新手帖
作者 正文
最后更新时间:2008-03-28
最近在做一个帮助的功能

我取得index.jsp里表单的值后,将值展现在第二个页 show.jsp

然后show.jsp里有个按钮,点击后出现浮层,提示用户下载(三种类型,Word,jpg,pdf)

例如  用户在此页面点击下载word类型文件后,可将此页面的信息转化成word类型文件,然后用户下载,下载完后删除.

在网上搜了一下,找不到解决方法,希望有过类似经历的同仁们能够解答一下.

(其实还有些非常搞不清的,比如我要下载Word类型的文件,在转换JSP页面时,如何只提取关键内容而不提取标签,在下载jpg类型文件时,如何像快照一样,将JSP页面原先展现的样子保存下来)
   
最后更新时间:2008-03-28
必须是 WORD  EXCEL不行吗?
   
0 请登录后投票
最后更新时间:2008-03-28
不落天空 写道
必须是 WORD  EXCEL不行吗?


是的...必须是word.
   
0 请登录后投票
最后更新时间:2008-03-28
如果你后台直接以word(txt?)的格式保存信息,用户浏览网页的时候再根据word里面的内容渲染出jsp页面,是不是会好点?这样下载word格式就和jsp页面没关系了。因为jsp页面本身也是通过对关键信息的加工得到的,再从jsp转回来有点走弯路的感觉。

不知道我说得对不?
   
0 请登录后投票
最后更新时间:2008-03-28
1、楼上的想法不错,可以尝试
2、如果一定要,你可以用两种方法跳过去,一是通过mine-type用客户端Word打开Jsp,二是在服务端用Com调Word打开jsp,然后再保存为word
   
0 请登录后投票
最后更新时间:2008-03-28
http://www.blogjava.net/oathleo/archive/2008/03/28/189196.html
这里就有例子,不过是反的
   
0 请登录后投票
最后更新时间:2008-03-28
试试POI。。
   
0 请登录后投票
最后更新时间:2008-03-28
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>网页上内容导出到word</title>
</head>
<body>
<div id="Layer1" >Happy New Year ! ! !
<input type=button name='button_export' title='导出到word'  onclick=OpenWord() value=下载到word></div>
</div>

<p>this is a test!</p>
<table align="center" width="300" border="1" bordercolor="#2baeff" cellpadding="0" cellspacing="0" bgcolor="lightblue">
<Tr><Td>1</td><Td>2</td><Td>3</td></tr>
<Tr><Td>4</td><Td>5</td><Td>6</td></tr>
<Tr><Td>7</td><Td>8</td><Td>9</td></tr>
</table>
</body>
</html>
<script language="javascript">
function OpenWord(){
Layer1.style.border=0
ExcelSheet = new ActiveXObject('Word.Application');
ExcelSheet.Application.Visible = true;
var mydoc=ExcelSheet.Documents.Add('',0,1);
myRange =mydoc.Range(0,1)
var sel=Layer1.document.body.createTextRange()
sel.select()
Layer1.document.execCommand('Copy')
sel.moveEnd('character')
myRange.Paste();
location.reload()
ExcelSheet.ActiveWindow.ActivePane.View.Type=9
}
</script>




在网上找的,直接保存成HTML就可以看到效果。
IE7.0下测试成功
需要修改IE关于ActiveX的安全属性
这种方式只适合导入少量数据,如果数据上M,这种方式恐怕不行。
另外,不明白LZ为什么要导出图片,直接用打印不可以吗?





JS重新写了下

<script language="javascript">
function OpenWord(){

        ExcelSheet = new ActiveXObject('word.Application');
	ExcelSheet.Application.Visible = true;
	var orgNum=ExcelSheet.Documents.Add('',0,1);
        myRange =orgNum.Range(0,1)
        sel=parent.document.body.createTextRange();
	oTblExport = parent.document.getElementById("Layer1");
	if (oTblExport != null) {
		sel.moveToElementText(oTblExport);
		sel.execCommand('Copy');
		parent.document.body.blur();
		myRange.Paste();
	}
      
     }
</SCRIPT>
   
0 请登录后投票
最后更新时间:2008-03-28
http://www.allcolor.org/YaHPConverter/
Html to Pdf converter,支持中文。
   
0 请登录后投票
论坛首页 入门讨论版 企业应用

跳转论坛:
JavaEye推荐