JSP產生PDF文檔源碼訪問http://sourceforge.net/project/showfiles.php?group_id=15255&release_id=167948下載最新版本的類庫,下載完成之後會得到一個.jar包,把這個包加入JDK的classpath即可使用。如果產生的PDF檔案中需要出現中文、日文、韓文字元,則還需要通過訪問http://itext.sourceforge.net/downloads/iTextAsian.jar 下載iTextAsian.jar包。
(如果是在JSP中使用,則只需將兩個jar包放入WEB-INF/lib目錄下即可)
代碼:(注意,在頁面非代碼部分——<%%>外的部分——不要有任何字元,否則會出錯) <%@ page contentType="charset=gb2312" language="java" import="java.io.*,java.awt.Color,com.lowagie.text.*,com.lowagie.text.pdf.*"%><%
response.setContentType("application/pdf");
Document document = new Document(PageSize.A4, 36,36,36,36);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
PdfWriter writer=PdfWriter.getInstance( document, buffer );
document.open();
//設定中文字型
BaseFont bfChinese =BaseFont.createFont( "STSong-Light","UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);
Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);
String Content="我們是害蟲!I'm bug!";
Paragraph par = new Paragraph(Content,FontChinese);Table table = new Table(2);
//設定表格邊框
table.setBorderWidth(1);
Cell cell = new Cell("Matrix III");
cell.setHeader(false);
//分列
cell.setColspan(2);
cell.setBackgroundColor(Color.red);
cell2.setHeader(true);
table.addCell(cell);
Image jpeg = Image.getInstance("c://xxx.jpg");
//圖片置中
jpeg.setAlignment(Image.ALIGN_CENTER);
document.add(par);
document.add(table);
document.add(jpeg);
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] ); }
%>