所需jar包:com.lowagie.text

package weaver.gy.util;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import javax.imageio.ImageIO;

import com.lowagie.text.BadElementException;

import com.lowagie.text.Document;

import com.lowagie.text.DocumentException;

import com.lowagie.text.Image;

import com.lowagie.text.Rectangle;

import com.lowagie.text.pdf.PdfWriter;

/**

* 将多张图片合并转为PDF;需要用到iTextpdf包,

*

* @author 浴缸

*

*/

public class PrintToPdfUtil {

/**

*

* @param imageFolderPath

* 图片文件夹地址

* @param pdfPath

* PDF文件保存地址

*

*/

public static void toPdf(String imageFolderPath, String pdfPath) {

try {

// 图片文件夹地址

// String imageFolderPath = "D:/Demo/ceshi/";

// 图片地址

String imagePath = null;

// PDF文件保存地址

// String pdfPath = "D:/Demo/ceshi/hebing.pdf";

// 输入流

FileOutputStream fos = new FileOutputStream(pdfPath);

// 创建文档

Document doc = new Document(null, 0, 0, 0, 0);

//doc.open();

// 写入PDF文档

PdfWriter.getInstance(doc, fos);

// 读取图片流

BufferedImage img = null;

// 实例化图片

Image image = null;

// 获取图片文件夹对象

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")) {

// System.out.println(file1.getName());

imagePath = imageFolderPath + file1.getName();

System.out.println(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);

}

}

// 关闭文档

doc.close();

} catch (IOException e) {

e.printStackTrace();

} catch (BadElementException e) {

e.printStackTrace();

} catch (DocumentException e) {

e.printStackTrace();

}

}

public static void main(String[] args) {

long time1 = System.currentTimeMillis();

toPdf("D:/Demo/ceshi/", "D:/Demo/pdf/hebing.pdf");

long time2 = System.currentTimeMillis();

int time = (int) ((time2 - time1)/1000);

System.out.println("执行了:"+time+"秒!");

}

}

java 图片合成pdf_java将多张图片合并转为PDF相关推荐

  1. java 图片合并成pdf_java将多张图片合并转为PDF

    [实例简介] [实例截图] [核心代码] package weaver.gy.util; import java.awt.image.BufferedImage; import java.io.Fil ...

  2. 多张图片合并转为PDF

    需要使用的依赖 <dependency><groupId>com.lowagie</groupId><artifactId>itext</arti ...

  3. java 图片合成 工具类_Java实现的微信图片处理工具类【裁剪,合并,等比例缩放等】...

    本文实例讲述了Java实现的微信图片处理工具类.分享给大家供大家参考,具体如下: 现在 外面核心,图片文章比较少,看了拷贝代码,而用不了,用相应jar包处理,很多等比例缩放,达不到 想要的给予的期望: ...

  4. java两张png图片合成_java将两张图片合成

    将两张图片合成一张新的图片 /** * 图片合成 * * @param backgroundPath 底图 * @param smallPath 小图 * @param type 生成图片类型jpg, ...

  5. Java图片合成、base64转换

    主要是工作中用到要将客户上传的身份证正反面照片从数据库中取出来(格式为base64字符串,竟然是将图片保存在数据库里面的),合成成为一张图片,然后再转码为base64,调用第三方接口把合成图片的bas ...

  6. 代码 - 多张图片合并成PDF(每页宽高即是当前页面图片的宽高)- itextpdf

    文章目录 1. 多张图片转成PDF(每页PDF的宽高是当前页面图片的宽高) 7.2.3版本 官方示例 多图合并成PDF   1. 多张图片转成PDF(每页PDF的宽高是当前页面图片的宽高) 7.2.3 ...

  7. Java图片合成并引入外部字体写入文字

    业务需要将两个图片合成,并按指定字体写入标语以及用户的经纬度,代码如下: import cn.hutool.core.img.GraphicsUtil;import javax.imageio.Ima ...

  8. java 图片合成到A4纸上

    最近2天在做移动端的项目,需要安卓 ios将拍完照的身份证正面和反面以Base64字符串传递给我,我拿到2个图片的地址,将这2张图片通过后台java技术合成到一张A4纸上之后以图片格式给移动端一个UR ...

  9. php 图片合成,PHP中多张图片合成一张图片例子

    今天分享一段PHP中多张图片合成一张图片的代码实现,我们可以在图片合成,水印,九宫格等需求下使用到类似这样的图片合成效果,下面一起来看看例子吧. 今天分享一段PHP中多张图片合成一张图片的代码实现,我 ...

最新文章

  1. 2022-2028年全球与中国生物质燃料粒行业市场智研瞻分析报告
  2. Git 头指针分离与 FETCH_HEAD
  3. R语言DALEX包的model_profile函数对caret包生成的多个算法模型的连续变量进行分析、使用Acumulated Local Effects (ALE)方法解释某个连续特征和目标值关系
  4. 使用JDBC连接SQL Server 2000 命名实例(Named Instance)
  5. linux软件升级直接替换,Linux几个命令的升级替代品
  6. python 调用vba 参数 保存表格_Jupyter Notebooks嵌入Excel并使用Python替代VBA宏
  7. mysql 5.7 连接数_mysql5.7出现大量too many connections及too many open files错误,且配置最大连接数未生效...
  8. 用Java实现文本编辑器
  9. 基于php和mysql的网上购物系统设计与实现_基于PHP+MySQL的网上购物系统设计与实现...
  10. 怎么批量修改html文件后缀,如何批量修改文件后缀名
  11. Openbravo怎么给工具栏添加一个按钮
  12. 注册了DELPHI盒子
  13. java实现批量注册_Java写的批量域名注册查询程序
  14. 计算机二级vb考试教材,计算机二级考试VB基础题教材.doc
  15. 现代互联网的网络拓扑
  16. Elastalert的报警功能拓展:分组报警
  17. 计算机管理服务没有nvidia,win7没有nvidia控制面板怎么解决 电脑没有nvidia控制面板解决方法...
  18. 韩顺平JAVA-D5
  19. 用python画小花_用python的小海龟 Turtle 画一朵好看又有趣的小花
  20. Python100days_Learning_DAY7

热门文章

  1. nginx官方模块之http_sub_status_module
  2. vscode设置成中文完整步骤
  3. 如何使用Elasticsearch groovy script脚本更新数据
  4. spring之AOP(转)
  5. 让PIP源使用国内镜像,提升下载速度和安装成功率。
  6. 园友们注意:淘宝网上QQ会员 4钻 3元 等都为骗子行为
  7. 数据类型及pythop运算符号
  8. 配置EIGRP默认路由
  9. FBI警告公众小心USB充电器:可能是键盘记录仪KeySweeper
  10. 使用easyui框架form控件,单选按钮radio或复选框checkbox样式问题