package cn.wlbg.pdfdemos.controller;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
public class Wk {
private static String FILEPATH = "D:\\aaa\\";
public static void imagesToPdf(String fileName, List<String> sd, String topath) {
try {
fileName = FILEPATH + fileName + ".pdf";
File file = new File(fileName);
// 第一步:创建一个document对象。
Document document = new Document();
document.setMargins(0, 0, 0, 0);
// 第二步:
// 创建一个PdfWriter实例,
PdfWriter.getInstance(document, new FileOutputStream(file));
// 第三步:打开文档。
document.open();
// 第四步:在文档中增加图片。
/*
File files = new File(imagesPath);
*/
String[] images = sd.toArray(new String[sd.size()]);
int len = images.length;
for (int i = 0; i < len; i++) {
if (images[i].toLowerCase().endsWith(".bmp")
|| images[i].toLowerCase().endsWith(".jpg")
|| images[i].toLowerCase().endsWith(".jpeg")
|| images[i].toLowerCase().endsWith(".gif")
|| images[i].toLowerCase().endsWith(".png")) {
String temp = images[i];
Image img = Image.getInstance(temp);
img.setAlignment(Image.ALIGN_CENTER);
// 根据图片大小设置页面,一定要先设置页面,再newPage(),否则无效
document.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
document.newPage();
document.add(img);
}
}
// 第五步:关闭文档。
document.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
//随机文件名
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
String name = uuid;
String[] arrs = {"d:\\aaa\\aaas-1.png", "d:\\aaa\\aaas-2.png"};
List<String> sd = Arrays.asList(arrs);
String imagesPath = "d:\\aaa";
imagesToPdf(name, sd, imagesPath);
}
}