1. 程式人生 > >iText的使用(1)-- 組合圖片生成PDF

iText的使用(1)-- 組合圖片生成PDF

使用iText組合圖片生成PDF檔案

關於iText的介紹不必說了,簡單用它的功能合併若干圖片到一個PDF中,目前iText支援的影象格式有:GIF, Jpeg, PNG, wmf等格式。
程式碼如下:(需匯入jar包,這裡使用itextpdf-5.5.3.jar)


import java.io.FileOutputStream;
import java.net.URL;

import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import
com.itextpdf.text.Rectangle; import com.itextpdf.text.pdf.PdfWriter; /** * * @author hokis * @version 1.0 * * jdk1.7,iText5.5.3 下測試通過 * */ public class TestiText { public static void main(String[] args) { //圖片路徑 String[] pics = {"file:F:\\test\\1.jpg","file:F:\\test\\2.jpg"
,"file:F:\\test\\3.jpg","file:F:\\test\\4.jpg"}; //輸出PDF路徑 String targetPDF = "F:\\test\\res.pdf"; try { toPDF(pics,targetPDF); System.out.println("成功生成PDF!"); } catch (Exception e) { e.printStackTrace(); System.out.println("生成失敗!"
); } } /** * 圖片組合生成PDF * @param pics * @param targetPDF * @throws Exception */ public static void toPDF(String[] pics, String targetPDF) throws Exception { //建立新的PDF文件:A4大小,左右上下邊框均為0 Document doc = new Document(PageSize.A4, 0, 0, 0, 0); try { //獲取PDF書寫器 PdfWriter.getInstance(doc, new FileOutputStream(targetPDF)); //開啟文件 doc.open(); //圖片物件 Image img = null; //遍歷 for (int i = 0; i < pics.length; i++) { //獲取圖片 img = Image.getInstance(new URL(pics[i])); //使圖片與A4紙張大小自適應 img.scaleToFit(new Rectangle(PageSize.A4)); //新增到PDF文件 doc.add(img); //下一頁,每張圖片一頁 doc.newPage(); } } catch (Exception e) { throw e; }finally{ //關閉文件 doc.close(); } } }

由於可以通過URL指定圖片來源,因而也可以引用網路上的圖片資源,