當前位置:編程學習大全網 - 編程語言 - java導出PDF文檔

java導出PDF文檔

java導出pdf需要用到iText庫,iText是著名的開放源碼的站點sourceforge壹個項目,是用於生成PDF文檔的壹個java類庫。通過iText不僅可以生成PDF或rtf

的文檔,而且可以將XML、Html文件轉化為PDF文件。

iText的安裝非常方便,下載iText.jar文件後,只需要在系統的CLASSPATH中加入iText.jar的路徑,在程序中就可以使用

iText類庫了。

代碼如下:

public class createPdf {

//自己做的壹個簡單例子,中間有圖片之類的

//先建立Document對象:相對應的 這個版本的jar引入的是com.lowagie.text.Document

Document document = new Document(PageSize.A4, 36.0F, 36.0F, 36.0F, 36.0F);

public void getPDFdemo() throws DocumentException, IOException{

//這個導出用的是 iTextAsian.jar 和iText-2.1.3.jar 屬於比較老的方法。 具體下在地址見:

//首先

//字體的定義:這裏用的是自帶的jar裏面的字體

BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);

// 當然妳也可以用妳電腦裏面帶的字體庫

//BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

//定義字體 註意在最新的包裏面 顏色是封裝的

Font fontChinese8 = new Font(bfChinese, 10.0F, 0, new Color(59, 54, 54));

//生成pdf的第壹個步驟:

//保存本地指定路徑

saveLocal();

document.open();

ByteArrayOutputStream ba = new ByteArrayOutputStream();

// PdfWriter writer = PdfWriter.getInstance(document, ba);

document.open();

//獲取此編譯的文件路徑

String path = this.getClass().getClassLoader().getResource("").getPath();

//獲取根路徑

String filePath = path.substring(1, path.length()-15);

//獲取圖片路徑 找到妳需要往pdf上生成的圖片

//這裏根據自己的獲取的路徑寫 只要找到圖片位置就可以

String picPath = filePath +"\\WebContent" +"\\images\\";

//往PDF中添加段落

Paragraph pHeader = new Paragraph();

pHeader.add(new Paragraph(" 妳要生成文字寫這裏", new Font(bfChinese, 8.0F, 1)));

//pHeader.add(new Paragraph("文字", 字體 可以自己寫 也可以用fontChinese8 之前定義好的 );

document.add(pHeader);//在文檔中加入妳寫的內容

//獲取圖片

Image img2 = Image.getInstance(picPath +"ccf-stamp-new.png");

//定義圖片在文檔中顯示的絕對位置

img2.scaleAbsolute(137.0F, 140.0F);

img2.setAbsolutePosition(330.0F, 37.0F);

//將圖片添加到文檔中

document.add(img2);

//關閉文檔

document.close();

/*//設置文檔保存的文件名

response.setHeader("Content-

disposition", "attachment;filename=\""+ new String(("CCF會員資格確認

函.pdf").getBytes("GBK"),"ISO-8859-1") + "\"");

//設置類型

response.setContentType("application/pdf");

response.setContentLength(ba.size());

ServletOutputStream out = response.getOutputStream();

ba.writeTo(out);

out.flush();*/

}

public static void main(String[]args) throws DocumentException, IOException{

createPdf pdf= new createPdf();

pdf.getPDFdemo();

}

//指定壹個文件進行保存 這裏吧文件保存到D盤的text.pdf

public void saveLocal() throws IOException, DocumentException{

//直接生成PDF 制定生成到D盤test.pdf

File file = new File("D:\\text2.pdf");

file.createNewFile();

PdfWriter.getInstance(document, new FileOutputStream(file));

}

}

  • 上一篇:網絡編程書籍
  • 下一篇:專訪資深UI設計師張雙:新時代UI設計師的價值是什麽?
  • copyright 2024編程學習大全網