import com.gxzc.zen.common.properties.UploadProperties;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
public class Image_PDFInterConverter {
private static final Logger logger = LoggerFactory.getLogger(Image_PDFInterConverter.class);
private static UploadProperties uploadProperties = new UploadProperties();
public static File imagesToPdf(String fileName, String imagesPath,List imgNames) {
String filePath = uploadProperties.getPdfDataPath();
File file = null;
try {
fileName = filePath + “/” + fileName + “.pdf”;
file = new File(fileName);
// if(!file.getParentFile().exists()){
// file.getParentFile().mkdirs();
// }
// 第一步:创建一个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 = files.list();
int len = images.length;
logger.info(String.valueOf(imgNames));
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”)) {
for (String im : imgNames
) {
if (images[i].toLowerCase().endsWith(“.jpg”) && cutSuffix(images[i]).equals(cutSuffix(im))) {
String temp = imagesPath + “/” + 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);
continue;
} else if (images[i].equals(im)) {
String temp = imagesPath + “/” + 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);
continue;
}
}
}
}
// 第五步:关闭文档。
document.close();
} catch (DocumentException de) {
logger.info(de.getMessage());
} catch (IOException ioe) {
logger.info(ioe.getMessage());
}
return file;
}
public static String cutSuffix(String string){
int i = string.indexOf(“.”);
String str = string.substring(0,i);
return str;
}
}