『壹』 如何在jsp页面上打开word,excel,pdf等文档
1、在不需要使用插件,直接打开通过链接方式打开;使用程序语言实现,
2、如专果访问者的属计算机上没有装acrobat reader,直接用iframe或者直接用链接打开,那就不是打开文档,而是直接下载了,为了防止下载,想像到媒体文件的播放方式,加上一些官方的docs,考虑用用object标签使用pdf插件嵌入ie中。
『贰』 怎样在JSP页面中输出PDF文档
可以使用虚拟打印机来处理:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是专能够打印,选择这个虚属拟打印机,都可以做成PDF文件,很简单实用;
方法二:用其他虚拟打印机转成PDF文件。
方法三:使用专门的转换软件,把文件转成PDF文件。
『叁』 通过jsp页面怎么打开服务器上pdf文件
在不需要使用插件,直接打开通过链接方式打开
java"><%@pagelanguage="java"import="java.util.*,java.io.*"
pageEncoding="UTF-8"%>
<%
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"
+request.getServerName()+":"+request.getServerPort()
+path+"/";
%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>">
</head>
<%
out.clear();
out=pageContext.pushBody();
response.setContentType("application/pdf");
try{
StringstrPdfPath=newString("D://200701010001.PDF");
//判断该路径下的文件是否存在
Filefile=newFile(strPdfPath);
if(file.exists()){
DataOutputStreamtemps=newDataOutputStream(response
.getOutputStream());
DataInputStreamin=newDataInputStream(
newFileInputStream(strPdfPath));
byte[]b=newbyte[2048];
while((in.read(b))!=-1){
temps.write(b);
temps.flush();
}
in.close();
temps.close();
}else{
out.print(strPdfPath+"文件不存在!");
}
}catch(Exceptione){
out.println(e.getMessage());
}
%>
<body>
<br>
</body>
</html>
如果访问者的计算机上没有装acrobat reader,直接用iframe或者直接用链接打开,那就不是打开文档,而是直接下载了,为了防止下载,想像到媒体文件的播放方式,加上一些官方的docs,考虑用用object标签使用pdf插件嵌入ie中
<HTML>
<HEAD>
<METAhttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METAhttp-equiv="Content-Style-Type"content="text/css">
<METAhttp-equiv="Content-Script-Type"content="text/javascript">
<TITLE>(IE4+)...</TITLE>
<SCRIPTfor="window"event="onload"
<!--
document.all[
document.all.PDFNotKnown?"IfNoAcrobat":"IfAcrobat"
].style.display="block";
//--></SCRIPT>
</HEAD>
<BODY>
<NOSCRIPT>
(orthefullAcrobat)
installed<FONTsize="-1">(
turnedoff)</FONT>.
</NOSCRIPT>
<DIVid="IfNoAcrobat"style="display:none">
<ahref="http://get.adobe.com/cn/reader/">你需要先安装AdobeReader才能正常浏览文件,请点击这里下载AdobeReader.</a>
</DIV>
<OBJECTtype="application/pdf"width=0height=0style="display:none">
<DIVid="PDFNotKnown"style="display:none"> </DIV>
</OBJECT>
<DIVid=showdiv
style="Z-INDEX:0;LEFT:10px;WIDTH:990px;POSITION:absolute;TOP:-8px;HEIGHT:10px">
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="990"height="700"border="0"top="-10"name="pdf">
<paramname="toolbar"value="false">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="MXL.pdf">
</object>
</DIV>
</BODY>
</HTML>
在网页中直接显示pdf格式的文件方便阅读。但是如果文件较大加载速度会很慢,另外如果客户端没有安装pdf阅读插件的话,也就看不了了,不过还是贴出来了,各取所需吗。(1.pdf要改成自己的pdf文件路径插入到页面文件中)
Html代码
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="800"height="1050"border="0">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="1.pdf">
</object>
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="800"height="1050"border="0">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="1.pdf">
</object>
标准浏览器中:
Java代码
<objectdata="1.pdf"type="application/pdf"width="300"height="200">
alt:<ahref="1.pdf">test.pdf</a>
</object>
<objectdata="1.pdf"type="application/pdf"width="300"height="200">
alt:<ahref="1.pdf">test.pdf</a>
</object>
IE7.0以上版本的浏览器中可用如下方法,低版本的IE会显示两个Object区域
Java代码
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="800"height="1050"border="0">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="1.pdf">
<objectdata="1.pdf"type="application/pdf"width="300"height="200">
alt:<ahref="1.pdf">test.pdf</a>
</object>
</object>
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="800"height="1050"border="0">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="1.pdf">
<objectdata="1.pdf"type="application/pdf"width="300"height="200">
alt:<ahref="1.pdf">test.pdf</a>
</object>
</object>
低版本浏览器中的处理方法1:
Java代码
<!--[ifIE]>
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="800"height="1050"border="0">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="1.pdf">
</object>
<![endif]-->
<!--[if!IE]><!-->
<objectdata="1.pdf"type="application/pdf"width="800"height="1050">
alt:<ahref='http://get.adobe.com/cn/reader'>AdobeReader.pdf</a>
</object>
<!--<![endif]-->
<!--[ifIE]>
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="800"height="1050"border="0">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="1.pdf">
</object>
<![endif]-->
<!--[if!IE]><!-->
<objectdata="1.pdf"type="application/pdf"width="800"height="1050">
alt:<ahref='http://get.adobe.com/cn/reader'>AdobeReader.pdf</a>
</object>
<!--<![endif]-->
低版本浏览器中的处理方法2:通过CSS控制显示隐藏
Html代码
/**/
*htmlobject.hiddenObjectForIE{display:none;}
/**/
/*IEMac/*//*/
*htmlobject.hiddenObjectForIE{display:inline;}
/**/
/**/
*htmlobject.hiddenObjectForIE{display:none;}
/**/
/*IEMac/*//*/
*htmlobject.hiddenObjectForIE{display:inline;}
/**/
Html代码
<objectclassid="clsid:CA8A9780-280D-11CF-A24D-444553540000"width="800"height="1050"border="0">
<paramname="_Version"value="65539">
<paramname="_ExtentX"value="20108">
<paramname="_ExtentY"value="10866">
<paramname="_StockProps"value="0">
<paramname="SRC"value="1.pdf">
<objectdata="1.pdf"type="application/pdf"width="300"height="200"class="hiddenObjectForIE">
alt:<ahref="1.pdf">test.pdf</a>
</object>
</object>
以上文章转自 http://www.cnblogs.com/mengzw/p/4754757.html
『肆』 jsp页面如何导成pdf格式
先在服务器上生成PDF文件,然后用户通过点击指向PDF文件的超链接选择下载或打开。这是一个思路,或者说是思路之一。本文实现了这个思路,又给出另外一个思路并通过两种途径实现之。
1)直接在服务器上生成PDF文件。
<%@ page import ="com.lowagie.text.*
,com.lowagie.text.pdf.*, java.io.*"%>
<%
String filename =
"PDF"+(new Random()).nextInt()+".pdf" ;
Document document =
new Document(PageSize.A4);
ServletOutputStream out1
= response.getOutputStream();
try{
PdfWriter writer =
PdfWriter.getInstance(document,
new FileOutputStream(filename) );
document.open();
document.add(new Paragraph("Hello World"));
document.close();
}
catch(Exception e){}
%>
上面的程序在服务器上生成了一个静态的PDF文件。显然,每次运行所得的PDF文件的名称应该是独一无二不能有重的。本程序通过随机函数来命名生成的PDF文件。本程序的缺点就是,每次运行都会在服务器上产生一个PDF文件,如果不及时删除,数量会越来越大,这显然是站点维护者所不愿意看到的。
2)将PDF文件通过流的形式输送到客户端的缓存。这样做的好处是不会在服务器上留下任何“遗迹”。
i)直接通过JSP页面生成
<%@
page import="java.io.*,
java.awt.Color,com.lowagie.text.*,
com.lowagie.text.pdf.*"%>
<%
response.setContentType
( "application/pdf" );
Document document = new Document();
ByteArrayOutputStream buffer
= new ByteArrayOutputStream();
PdfWriter writer=
PdfWriter.getInstance( document, buffer );
document.open();
document.add(new Paragraph("Hello World"));
document.close();
DataOutput output =
new DataOutputStream
( response.getOutputStream() );
byte[] bytes = buffer.toByteArray();
response.setContentLength(bytes.length);
for( int i = 0;
i < bytes.length;
i++ )
{
output.writeByte( bytes[i] );
}
%>
ii)通过Servlet生成
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public void doGet
(HttpServletRequest request,
HttpServletResponse response)
throws IOException,ServletException
{
Document document =
new Document(PageSize.A4, 36,36,36,36);
ByteArrayOutputStream ba
= new ByteArrayOutputStream();
try
{
PdfWriter writer =
PdfWriter.getInstance(document, ba);
document.open();
document.add(new
Paragraph("Hello World"));
}
catch(DocumentException de)
{
de.printStackTrace();
System.err.println
("A Document error:" +de.getMessage());
}
document.close();
response.setContentType
("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out
= response.getOutputStream();
ba.writeTo(out);
out.flush();
}
『伍』 如何将pdf格式的文件在jsp中显示!先谢啦。。。。
非常简单,首先响应pdf的头,response。setHeader() 为pdf的头,然后把文件流取出来,output到页面上去就行了
『陆』 谁用过JAVA把JSP页面导出为PDF格式文件
xml+xsl结合输出pdf
『柒』 jsp打开PDF
PDF 文件的 MIME 类型是 "application/pdf"。要用 servlet 来打开一个 PDF 文档,需要将 response 对象中 header 的 content 类型设置成 "application/pdf":
// MIME type for pdf doc
res.setContentType( "application/pdf" );
若要打开一个 Microsoft Word 文档,你就要将 response 对象的 content 类型设置成 "application/msword":
// MIME type for MSWord doc
res.setContentType( "application/msword" );
如果是一个 Excel 文档,则使用 MIME 类型 "application/vnd.ms-excel"。其中 vnd 表示该应用程序的制造者,必须将它包含在 MIME 类型里才能够打开该类型文档。
有时候浏览器不能识别文档的 MIME 类型。通常这是由于没有安装这些文档需要的插件而导致的。这种情况下,浏览器会弹出一个对话框,询问用户是否需要打开该文件或是将它保存到本地磁盘上。
『捌』 怎么用jsp网页直接打开pdf文件.达到预览的效果,像百度那样的
网上有个开源组件叫flexpaper,使用的flash技术
在网站后台把pdf文档转换成swf,就可以使用flexpaperviewer观看了。