引入pom依赖

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

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

package com.ran;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();}}public static void main(String[] args) {ImgToPdfUtil img = new ImgToPdfUtil();img.imgOfPdf("D:\\test\\test.pdf","D:\\test\\7.jpg,D:\\test\\7.jpg");}
}

3.测试一下即可是否成功

public static void main(String[] args) {ImgToPdfUtil img = new ImgToPdfUtil();img.imgOfPdf("D:\\test\\test.pdf","D:\\test\\7.jpg,D:\\test\\7.jpg");}

ok

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

java如何将图片转为pdf相关推荐

  1. java网页保存pdf_JavaScript+Java实现HTML页面转为PDF文件保存的方法

    JavaScript+Java实现HTML页面转为PDF文件保存的方法 发布于 2017-02-27 09:58:50 | 160 次阅读 | 评论: 0 | 来源: 网友投递 JavaScript客 ...

  2. java 网页保存为pdf文件怎么打开方式_js相关:JavaScript+Java实现HTML页面转为PDF文件保存的方法...

    js相关:JavaScript+Java实现HTML页面转为PDF文件保存的方法 发布于 2020-8-12| 复制链接 借助iText这个Java库,我们可以将HTML文件保存为图片文件进而转换成P ...

  3. python 怎么将数组转为列表_图片转换成pdf格式怎么操作?什么软件能将图片转为pdf?...

    伙伴们好,你们知道如何把图片转为pdf格式吗?前一阵子我参加了一个家居行业大会,在会议上拍摄了不少会议照片,包括主持人讲话.嘉宾出席.观众提问.产品推广等环节都拍摄了不同的角度.拍摄好后,需要传送给写 ...

  4. foxit phantom pdf 7.3_Jpeg to Pdf Converter 3000批量将图片转为PDF的方法

    Jpeg to Pdf Converter 3000是一款非常优秀的图片转PDF软件,该软件界面清爽美观,用户使用该软件,可以快速的将JPG图片转换为PDF文件,而且转换的质量非常高.我们在日常的办公 ...

  5. 图片转为pdf怎么弄?发送图片安全高效的格式

    图片转为pdf怎么弄?pdf文档作为当下最火的一种文档格式之一,我们在日常生活中会经常使用到它.这种格式的文件保密性高,不易被修改.而将图片转换为pdf格式,不仅方便传输图片,而且还能最大程度保证图片 ...

  6. Java itext实现图片转pdf

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

  7. 操作简便的JPG图片转为PDF转换器

    生活中,我们常会下载一些图片用来留恋,然而时间长了就考虑将这些JPG图片做成一本PDF的书来翻看,有没有一种最为操作简便的JPG图片转为PDF转换器,这里给大家介绍一款可以将JPG图片转换成PDF文件 ...

  8. java如何将图片转为MP4视频并配音

    1.放在前面 最近前端小伙伴给我提了一个难题,让我在后端实现一个图片转MP4视频并配音乐,然后提供一个接口给他下载,我虽然没做过相关的功能,但本着不会就抄的的原则,还是硬着头皮答应了- 话不多说,开整 ...

  9. iOS上将图片转为PDF

    先上demo链接:GitHub地址 博客原文链接:imageToPDF 最近做项目遇到了这个需求,百度了一下发现还是12年的文章,使用了一下不好用,转为PDF后是空白的,开始Google查文件,现成功 ...

最新文章

  1. OGEngine开源引擎环境搭建
  2. 如何借助“AI+边缘计算”助推能源产业智能化转型?这场直播给你答案 | 量子位·视点...
  3. XFS:大数据环境下Linux文件系统的未来
  4. python怎么显示结果_python中plot实现即时数据动态显示方法
  5. do while循环猜电脑给出的随机数
  6. 信息系统项目管理师-信息系统成本管理核心知识点思维脑图
  7. 学习“用dlopen,dlsym加载动态链接库.so中函数”之摘录
  8. vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...
  9. 从大学到结婚,我和小云的这13年
  10. 零基础学Python可以学会吗?
  11. 20145321 实验三实验报告
  12. 安全运维 - Linux系统攻击回溯
  13. 深入理解RunLoop(四)
  14. 《分布式系统概念与设计》读书笔记(第零章)
  15. SQL Server 添加字段 修改字段 删除字段 语句
  16. 使用python、java语言批量下载抖音中我的视频、我喜欢的视频,解析抖音视频,批量下载抖音...
  17. 手机备忘录里的东西突然没有了怎么办
  18. 当我们谈深度学习时,我们用它落地了什么?阿里云内容安全功能全新升级
  19. 学习管理系统五大好处
  20. C编译报错: implicit declaration of function xxx is invalid in C99 [-Wimplicit-function-declaration]

热门文章

  1. 结合阿里云 FC 谈谈我对 FaaS 的理解
  2. APP调用支付宝客户端发起支付
  3. 万字综述智能驾驶车载激光雷达关键技术与应用算法
  4. 斐波那契(Fibonacci)数列问题
  5. PYTHON实践——GUI界面
  6. mysql在手游中的作用_数据库虚拟化技术_手游业务MySQL数据库虚拟化漫谈 | By 肖力-云栖社区...
  7. 高中计算机听课总结,中学新信息技术老师听课心得体会五篇
  8. 使用U盘在虚拟机下安装双系统(windows and linux)乃至多系统
  9. java 实现邮件带附件发送
  10. numpy中axis理解