導航:首頁 > 文件類型 > 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文件相關的資料

熱點內容
眼睛很癢怎麼辦app 瀏覽:235
電腦管家添加信任程序 瀏覽:340
哪個網站能免費找大學作業 瀏覽:48
樂橙監控搜索不到網路怎麼辦 瀏覽:183
商品股指怎麼查看商品基金數據 瀏覽:213
如何查資料庫網址 瀏覽:520
浙江電子文件檔案管理系統多少錢 瀏覽:915
javastring類型傳值 瀏覽:395
網路通訊 瀏覽:592
貼片ic如何編程 瀏覽:695
非root管理應用程序 瀏覽:963
糯米購票app是什麼 瀏覽:467
老版本三國殺下載地址 瀏覽:76
word怎麼設置字體效果 瀏覽:310
tmpgenc教程 瀏覽:731
jsppdf文件 瀏覽:459
比特幣怎麼看鏈上數據 瀏覽:401
微信發送給朋友回調 瀏覽:630
lol文件修改解析度 瀏覽:714
3g怎麼開通4g網路 瀏覽:668

友情鏈接