① java 如何实现打开PDF文件,并把文件显示出来;就是实现文件打开的功能。急,急....
java打开PDF需要借助其他的jar包的,如果我没记错的话,然后查看相应的API接口内。应该是以容流的形式进行读取,之前写过一点是往里面写数据的,生成html文然后写入PDF文件 工具有:
ItextPdf、FlyingAndItext、pd4ml 这些是将html文转换为PDF文件的,读取的话直接用bufferread读取试试(我没写过!)
② 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文档
可以使用虚拟打印机来处理:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是专能够打印,选择这个虚属拟打印机,都可以做成PDF文件,很简单实用;
方法二:用其他虚拟打印机转成PDF文件。
方法三:使用专门的转换软件,把文件转成PDF文件。
④ 怎么在jsp页中实现在线阅读word、ppt、pdf就是像百度文库一样可以在线观看这些文件。
先转换成flash,再用flex插件进行在线阅读。
⑤ jsp怎么通过超链接直接打开pdf文件
路径写到a标签的href里,火狐谷歌都是可以直接点开的
⑥ 怎么在jsp页中实现在线阅读word、ppt、pdf就是像百度文库一样可以在线观看这些文件
要实现一种是用第三方插件,以前找过,好像要收费的。还有一种是使用office.dll和flash操作。
⑦ 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();
}
⑧ 如何在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,这么做,在线等
需要将pdf转换成flash(swf)格式才可以。网络文库上就是flash。上传时同时传两份,一份原版,一份转换后的flash文件。给我们显示的是flash,下载时下的是原版文件。
⑩ 如何将pdf格式的文件在jsp中显示!先谢啦。。。。
非常简单,首先响应pdf的头,response。setHeader() 为pdf的头,然后把文件流取出来,output到页面上去就行了