jsp打开pdf文件|在JSP中怎么实现网页直接浏览PDF和WORD文件

jsp打开pdf文件|在JSP中怎么实现网页直接浏览PDF和WORD文件的第1张示图

① jsP页面打开PDF文件

有两种方法:一、直接用链接指向这个文件。二、用IO把文件读取,再向页面输出。response.setContentType,要设置这个。

② 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(newParagraph("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();}

③ 如何在jsp页面上打开word,excel,pdf等文档

1、在不需要使用插件,直接打开通过链接方式打开;使用程序语言实现,2、如专果访问者的属计算机上没有装acrobat reader,直接用iframe或者直接用链接打开,那就不是打开文档,而是直接下载了,为了防止下载,想像到媒体文件的播放方式,加上一些官方的docs,考虑用用object标签使用pdf插件嵌入ie中。

④ jsp打开PDF

在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文件

在不需要使用插件,直接打开通过链接方式打开

<%@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">&nbsp;</DIV></OBJECT><DIVid=showdivstyle="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等文件

jsp中要利用java来实现打开,可以通过浏览器打开:以下程序实现了读取某个路径下的文件,并用浏览器打开:package test;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class PDFServlet extends HttpServlet { private static final long serialVersionUID = -3065671125866266804L; public PDFServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/pdf"); FileInputStream in = new FileInputStream(new File("d:/1.pdf")); OutputStream out = response.getOutputStream(); byte[] b = new byte[512]; while ((in.read(b)) != -1) { out.write(b); } out.flush(); in.close(); out.close(); } public void init() throws ServletException { }}

⑦ 在JSP中怎么实现网页直接浏览PDF和WORD文件

pdf 在html5规范复中可以直接看(制微网站不行,IOS被微信给限制了),word转化成pdf再看。要兼容更低的浏览器。转成图片看。word先转pdf再转图片,操作word是比较麻烦的事。除微软office、openoffice,金山wps我是没找到其他库是否可直接把word转pdf。java的poi应该可以把word转pdf,但是我用的c库,没深入研究。openoffice转化不稳定,别用,找其他库。

⑧ 如何将pdf格式的文件在jsp中显示!先谢啦。。。。

非常简单,首先响应pdf的头,response。setHeader() 为pdf的头,然后把文件流取出来,output到页面上去就行了

⑨ 怎么用jsp网页直接打开pdf文件.达到预览的效果,像百度那样的

网上有个开源组件叫flexpaper,使用的flash技术在网站后台把pdf文档转换成swf,就可以使用flexpaperviewer观看了。

⑩ jsp 如何通过js来打印pdf文件!pdf存储在文件服务器上!

jsp中要利用java来实现打开,可以通过浏览器打开:以下程序实现了读取某个路径下的pdf文件,并用浏览器打开:package test;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class PDFServlet extends HttpServlet {private static final long serialVersionUID = -3065671125866266804L;public PDFServlet() {super();}public void destroy() {super.destroy();}public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("application/pdf");FileInputStream in = new FileInputStream(new File("d:/1.pdf"));OutputStream out = response.getOutputStream();byte[] b = new byte[512];while ((in.read(b)) != -1) {out.write(b);}out.flush();in.close();out.close();}public void init() throws ServletException {}}

未经允许不得转载:山九号 » jsp打开pdf文件|在JSP中怎么实现网页直接浏览PDF和WORD文件

赞 (0)