Java实现图片转pdf 置顶@@@@
前言
:Java实现图片转pdf
提示:以下是本篇文章正文内容,下面案例可供参考
一、依赖JAR
<dependency>
<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
<artifactId>com.lowagie.text</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.7</version>
</dependency>
二、工具类
package com.example.demo.utils;
import com.lowagie.text.Document;
import com.lowagie.text.Image;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
/**
* @Author HOUJL
* @Date 2021/10/29
* @Description:Java实现图片转pdf 方式一
* 依赖包:<dependency>
* <groupId>org.eclipse.birt.runtime.3_7_1</groupId>
* <artifactId>com.lowagie.text</artifactId>
* <version>2.1.7</version>
* </dependency>
* <dependency>
* <groupId>com.itextpdf</groupId>
* <artifactId>itextpdf</artifactId>
* <version>5.5.7</version>
* </dependency>
*/
public class ImageToPDF {
private static final Logger LOGGER = LoggerFactory.getLogger(ImageToPDF.class);
/**
* 多张图转为pdf
* param imageFolderPath
* param pdfPath
*/
public static void toPdf(String imageFolderPath, String pdfPath) {
try {
long start = System.currentTimeMillis();
ArrayList<String> list = new ArrayList<>();
// 图片地址
String imagePath = null;
FileOutputStream fos = new FileOutputStream(pdfPath);
// 创建文档
Document doc = new Document(null, 20, 20, 20, 20);
// 写入PDF文档
PdfWriter.getInstance(doc, fos);
// 读取图片流
BufferedImage img;
// 实例化图片
Image image;
// 获取图片文件夹对象
File file = new File(imageFolderPath);
File[] files = file.listFiles();
// 循环获取图片文件夹内的图片
for (File file1 : files) {
if (file1.getName().endsWith(".png") || file1.getName().endsWith(".jpg") || file1.getName().endsWith(".gif")
|| file1.getName().endsWith(".jpeg") || file1.getName().endsWith(".tif")) {
imagePath = imageFolderPath + file1.getName();
list.add(file1.getName());
// 读取图片流
img = ImageIO.read(new File(imagePath));
// 根据图片大小设置文档大小
doc.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
// 实例化图片
image = Image.getInstance(imagePath);
// 添加图片到文档
doc.open();
doc.add(image);
}
}
LOGGER.info("fileName is list={}", list);
// 关闭文档
doc.close();
long endTime = System.currentTimeMillis();
int time = (int) ((endTime - start) / 1000);
LOGGER.info("用时:{}:秒!",time);
} catch (Exception e) {
LOGGER.error(e.getMessage());
}
}
public static void main(String[] args) {
toPdf("D:\\pacsFile\\", "D:\\pdfile\\hebing4.pdf");
}
}
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。