jsp打开PDF
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp打开PDF相关的知识,希望对你有一定的参考价值。
A.jsp点击B超链接,进入ACTION,生成PDF
PDF路径为C:\\itext.pdf
如何在点击B超链接时,直接用阅读工具(如Adobe Reader)打开C:\\itext.pdf
在action该如何写代码?
// 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 类型。通常这是由于没有安装这些文档需要的插件而导致的。这种情况下,浏览器会弹出一个对话框,询问用户是否需要打开该文件或是将它保存到本地磁盘上。 参考技术A 在jsp中打开pdf的实现原理是在页面上输出adobe reader对象。
<OBJECT type="application/pdf" width=0 height=0 style="display:none">
<DIV id="PDFNotKnown" style="display:none"> </DIV>
</OBJECT>
如果没有安装就要提示:
<DIV id="IfNoAcrobat" style="display:none">
你需要先安装Adobe Reader才能正常浏览文件,请点击<a href=http://get.adobe.com/cn/reader/download/?installer=Reader_11.0_Chinese_Simplified_for_Windowstarget="_blank">这里</a>下载Adobe Reader.
</DIV>
(JSP)关于手机端(尤其是苹果手机)pdf文件无法打开的解决方案
流的方式下载附件
<!--
@author :daisy
@date : 2011-12-04
@note : 从数据库中读取BLOB图片显示
-->
<%@page import="com.cwai.dao.DBManager"%>
<%@ page contentType=" text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
out.clear();
out = pageContext.pushBody();
//读取blob字段的图片内容,将其显示
String xh = request.getParameter("xh");
String wjm = request.getParameter("wjm");
wjm = java.net.URLEncoder.encode(wjm, "UTF-8");
try {
ServletOutputStream sos = null;
String sql = "SELECT WJNR WJNR FROM FJ_SWYB WHERE XH = ‘" + xh+"‘";
System.out.println(sql);
byte[] blob_array = DBManager.getBlob(sql, null);
try {
//修改前
//response.setContentType("multipart/form-data");
//修改后
response.setContentType("multipart/form-data");
String kzm = wjm.substring(wjm.lastIndexOf(".")+1);
if("PDF".equals(kzm.toUpperCase()) ){
response.setContentType("application/pdf");
}
String downFileName = new String(wjm.getBytes("GB2312"),"iso8859-1");
//注意:attachment \inline 两者的区别
response.setHeader("Content-Disposition", "attachment;filename=\""+downFileName+"\"");
sos = response.getOutputStream();
System.out.println("blob_array-lenth:----" + blob_array.length);
sos.write(blob_array);
sos.flush();
sos.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (sos != null) sos.close();
}
return;
} catch (Exception ex) {
ex.printStackTrace();
}
response.sendError(404);
%>
以上是关于jsp打开PDF的主要内容,如果未能解决你的问题,请参考以下文章
(JSP)关于手机端(尤其是苹果手机)pdf文件无法打开的解决方案
jsp 如何通过js来打印pdf文件!pdf存储在文件服务器上!