一.引入pom依赖

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.4.2</version>
</dependency>

二.创建图片转pdf的实现类

package util;import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.pdf.PdfWriter;import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;/*** 图片转pdf工具类*/
public class ImgToPdfUtil {public static File Pdf(ArrayList<String> imageUrllist, String mOutputPdfFileName) {Document doc = new Document(PageSize.A4, 0, 0, 0, 0); //new一个pdf文档try {PdfWriter.getInstance(doc, new FileOutputStream(mOutputPdfFileName)); //pdf写入doc.open();//打开文档for (int i = 0; i < imageUrllist.size(); i++) {  //循环图片List,将图片加入到pdf中doc.newPage();  //在pdf创建一页Image png1 = Image.getInstance(imageUrllist.get(i)); //通过文件路径获取imagefloat heigth = png1.getHeight();float width = png1.getWidth();int percent = getPercent2(heigth, width);png1.setAlignment(Image.MIDDLE);png1.scalePercent(percent + 3);// 表示是原来图像的比例;doc.add(png1);}doc.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (DocumentException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}File mOutputPdfFile = new File(mOutputPdfFileName);  //输出流if (!mOutputPdfFile.exists()) {mOutputPdfFile.deleteOnExit();return null;}return mOutputPdfFile; //反回文件输出流}public static int getPercent(float h, float w) {int p = 0;float p2 = 0.0f;if (h > w) {p2 = 297 / h * 100;} else {p2 = 210 / w * 100;}p = Math.round(p2);return p;}public static int getPercent2(float h, float w) {int p = 0;float p2 = 0.0f;p2 = 530 / w * 100;p = Math.round(p2);return p;}/** * @Description: 通过图片路径及生成pdf路径,将图片转成pdf* @Author: zd* @Date: 2019/9/29*/ public void imgOfPdf(String filepath, String imgUrl) {try {ArrayList<String> imageUrllist = new ArrayList<String>(); //图片list集合String[] imgUrls = imgUrl.split(",");for (int i=0; i<imgUrls.length; i++) {imageUrllist.add(imgUrls[i]);}String pdfUrl =  filepath;  //输出pdf文件路径File file = this.Pdf(imageUrllist, pdfUrl);//生成pdffile.createNewFile();} catch (IOException e) {e.printStackTrace();}}
}

三.测试工具类

@Testpublic void test(){ImgToPdfUtil img = new ImgToPdfUtil();img.imgOfPdf("E:\\file\\test\\test.pdf","E:\\file\\test\\流程图.png,E:\\file\\test\\设计.png");}

四.效果

参考:https://www.cnblogs.com/sky-zky/p/9639256.html

Java itext实现图片转pdf相关推荐

  1. java使用itext将图片放到pdf模板的指定位置

    java使用itext将图片放到pdf模板的指定位置 前面的准备步骤可以参考我的上一篇文章 这里直接上代码 这里用的图片是路径的形式,还有种情况是图片是base64的时候,这种情况就需要转一下图片格式 ...

  2. java如何将图片转为pdf

    引入pom依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</ ...

  3. JAVA itext 多种文件转pdf,进行合并 添加水印

    结合网上各路大神代码汇总而来,如果需要将pdf统一格式,可将pdf转成图片后重新转为pdf合并至一起,使用itext的PdfCanvas未成功解决该问题,主要也是因为我菜且时间紧没空查文档了.对于it ...

  4. Java实现png图片转pdf

    一 概述 实现原理为将图片放入指定的pdf文件中. 参考文档https://pan.baidu.com/s/11DpS-DOyRrwrYuEIGl7vWwhttps://pan.baidu.com/s ...

  5. java iText 的jar导出pdf格式,禁止浏览器预览,直接下载功能

    后台使用iText来生成一个pdf文件,提供一个服务器的pdf访问地址,让前端拿到,浏览器下载,不过直接使用loaction.href的形式,浏览器都会默认进入一个预览的界面,这就导致很不好用,需要回 ...

  6. java itext根据模板生成pdf

    很久没有更新过了,稍微闲一点,顺势总结下N久之前用到的小技巧. 这里生成pdf主要使用itext.jar.如想生成一个pdf,其实很简单的啦!第一种:全部使用代码生成:第二种:根据pdf模板生成.当前 ...

  7. iText的使用(1)-- 组合图片生成PDF

    使用iText组合图片生成PDF文件 关于iText的介绍不必说了,简单用它的功能合并若干图片到一个PDF中,目前iText支持的图像格式有:GIF, Jpeg, PNG, wmf等格式. 代码如下: ...

  8. android iText图片转pdf

    项目场景: 使用iText进行图片转pdf时,图片过长,一页放不下导致多余部分失去 问题描述 图片过长,一页放不下导致多余部分失去 解决方案: 提示:这里填写该问题的具体解决方案: 1.iText创建 ...

  9. 【文件操作专题】java 实现多张图片合成PDF

    本篇文章分析如何将多张图片合成一个pdf文件,留下此篇文章,方便以后查阅,从网上找了很多案例,最后找了itextpdf这个比较好,最重要的是,要最下缩放比例,由于我们使用的图片大小都不一样的规格,直接 ...

最新文章

  1. 赤兔四足机器人的作用_腾讯 Robotics X 实验室四足移动机器人Jamoca首亮相,可挑战高难度梅花桩...
  2. mysql autocommit_【整理】MySQL 之 autocommit
  3. 信息系统项目管理师-知识产权、项目收尾、标准规范核心知识点思维脑图
  4. 从《爱莉克斯》说起,聊聊当前 VR 游戏设计的“困境”与“尝试”
  5. 【 Grey Hack 】WIFI万能钥匙
  6. Spring Bean的生命周期例子
  7. POJ 1003 Hangover
  8. ubuntu shuangxitong
  9. 如何像高级开发人员一样思考?
  10. 报错:libtool: Version mismatch error. This is libtool 2.4.6解决
  11. 如何批量将 Excel 文档转为 Txt 文本格式
  12. 数字信号处理第二章:Z变换及离散时间系统系统分析
  13. hysys动态模拟教程_学习记录-过程模拟实训-Aspen HYSYS教程
  14. 基因组变异类型详解及区分
  15. 这几款手机浏览器真的牛,比夸克更好用
  16. Linux vmwaver下安装cenos联网时出现 network is unreachable问题
  17. 题外-解决mac重启后git无法使用
  18. Go语言获取中文及其他非英语字符长度
  19. 爱 的 契 约 写给正在感情纠葛的三人
  20. 基于WEB 的实时事件通知

热门文章

  1. Day 1 廉颇老矣,尚能饭否?
  2. windows下Linux系统U盘启动盘制作与系统安装图文教程
  3. 梅西:世界杯是我最重要的奖杯;很高兴斯卡洛尼能够续约
  4. 电信业务经营许可证申请办事指南
  5. iOS-Core-Animation-Advanced-Techniques(三)
  6. 10.信息系统基础知识
  7. 思科交换机基础--11三层交换机ACL配置
  8. GPU/CPU性能天梯图
  9. 领跑全球安全行业,为什么是以色列?
  10. 比情商智商重要的是财商——财商!