package com.smbea.image; import com.artup.util.image.ImageUtil; import com.itextpdf.text.*; import com.itextpdf.text.pdf.PdfWriter; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; /** * <p>采用 ITextPDF 類庫測試向 PDF 中加入圖片的示例</p> * @author hapday * @date 2018/4/19 / @time 14:39 */ @Slf4j public class PdfImageTest { @Test public void imageTest(){ Rectangle rectangle = new Rectangle(PageSize.A4); // 設置 PDF 紙張矩形,大小采用 A4
rectangle.setBackgroundColor(BaseColor.ORANGE); // 設置背景色 //創建一個文檔對象,設置初始化大小和頁邊距
Document document = new Document(rectangle, 10, 10, 10, 10); // 上、下、左、右頁間距
String pdfPath = "D://pdfImage_test.pdf"; // PDF 的輸出位置
try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(pdfPath)); } catch (DocumentException e) { log.error("將文檔對象設置到文件輸出流中 - 出錯了!", e); } catch (FileNotFoundException e) { log.error("未找到指定的文件!", e); } document.open(); // 打開文檔對象
String imagePath = "F:\\IdeaProjects\\artup-mobile\\src\\main\\webapp\\image\\Docker.jpg"; // 圖片的絕對路徑
Image image = null; // 聲明圖片對象
try { image = Image.getInstance(imagePath); // 取得圖片對象
} catch (BadElementException | IOException e) { log.error("實例化【圖片】 - 失敗!", e); return; } image.scaleAbsolute(ImageUtil.getImageWidth(imagePath), ImageUtil.getImageHeight(imagePath)); image.setAbsolutePosition(10, 20); // (以左下角為原點)設置圖片的坐標
try { document.add(image); } catch (DocumentException e) { log.error("將圖片對象加入到文檔對象中時 - 出錯了!", e); } document.close(); // 關閉文檔
} }