导航:首页 > 文件类型 > jsppdf文件

jsppdf文件

发布时间:2024-10-22 19:22:38

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

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观看了。

㈣ 如何把 JSP 文件转换为PDF文件

只要是可以打印,就可以使用虚拟打印机来处理:
方法一:使用虚拟打印内机pdf factory即可,而容且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:用其他虚拟打印机转成PDF文件。

实在不能打印,还可以截屏嘛,然后按照下面的方法做出PDF的:
方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:使用FreePic2Pdf软件,进行批量转换;
方法三:用其他虚拟打印机转成PDF文件。

阅读全文

与jsppdf文件相关的资料

热点内容
js字体红色 浏览:942
win10文件被占用 浏览:995
压缩文件格式转换 浏览:651
数控编程需要掌握哪些指令 浏览:427
不用学编程的专业有哪些 浏览:14
苹果手机什么软件可以看STP 浏览:219
淘宝联盟程序 浏览:989
苹果拨号盘代码所有 浏览:808
微信里的word文件可以导出吗 浏览:881
word文件2页怎么能变成1页 浏览:959
sql数据库怎样打开mdf文件 浏览:638
ps文件快速拉到ai中 浏览:332
appstore礼包在哪里查看 浏览:525
编程和动画哪个难学 浏览:692
英雄联盟天赋推荐的网站叫什么 浏览:85
学校编程课上到哪里了 浏览:971
round编程是什么意思 浏览:512
删除文件夹内所有内容工具 浏览:942
macbook文件管理软件 浏览:767
ubuntu怎么配置网络配置文件 浏览:634

友情链接