iText的使用(1)-- 組合圖片生成PDF
阿新 • • 發佈:2018-11-21
使用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指定圖片來源,因而也可以引用網路上的圖片資源,