Java itext实现图片转pdf
一.引入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相关推荐
- java使用itext将图片放到pdf模板的指定位置
java使用itext将图片放到pdf模板的指定位置 前面的准备步骤可以参考我的上一篇文章 这里直接上代码 这里用的图片是路径的形式,还有种情况是图片是base64的时候,这种情况就需要转一下图片格式 ...
- java如何将图片转为pdf
引入pom依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</ ...
- JAVA itext 多种文件转pdf,进行合并 添加水印
结合网上各路大神代码汇总而来,如果需要将pdf统一格式,可将pdf转成图片后重新转为pdf合并至一起,使用itext的PdfCanvas未成功解决该问题,主要也是因为我菜且时间紧没空查文档了.对于it ...
- Java实现png图片转pdf
一 概述 实现原理为将图片放入指定的pdf文件中. 参考文档https://pan.baidu.com/s/11DpS-DOyRrwrYuEIGl7vWwhttps://pan.baidu.com/s ...
- java iText 的jar导出pdf格式,禁止浏览器预览,直接下载功能
后台使用iText来生成一个pdf文件,提供一个服务器的pdf访问地址,让前端拿到,浏览器下载,不过直接使用loaction.href的形式,浏览器都会默认进入一个预览的界面,这就导致很不好用,需要回 ...
- java itext根据模板生成pdf
很久没有更新过了,稍微闲一点,顺势总结下N久之前用到的小技巧. 这里生成pdf主要使用itext.jar.如想生成一个pdf,其实很简单的啦!第一种:全部使用代码生成:第二种:根据pdf模板生成.当前 ...
- iText的使用(1)-- 组合图片生成PDF
使用iText组合图片生成PDF文件 关于iText的介绍不必说了,简单用它的功能合并若干图片到一个PDF中,目前iText支持的图像格式有:GIF, Jpeg, PNG, wmf等格式. 代码如下: ...
- android iText图片转pdf
项目场景: 使用iText进行图片转pdf时,图片过长,一页放不下导致多余部分失去 问题描述 图片过长,一页放不下导致多余部分失去 解决方案: 提示:这里填写该问题的具体解决方案: 1.iText创建 ...
- 【文件操作专题】java 实现多张图片合成PDF
本篇文章分析如何将多张图片合成一个pdf文件,留下此篇文章,方便以后查阅,从网上找了很多案例,最后找了itextpdf这个比较好,最重要的是,要最下缩放比例,由于我们使用的图片大小都不一样的规格,直接 ...
最新文章
- 赤兔四足机器人的作用_腾讯 Robotics X 实验室四足移动机器人Jamoca首亮相,可挑战高难度梅花桩...
- mysql autocommit_【整理】MySQL 之 autocommit
- 信息系统项目管理师-知识产权、项目收尾、标准规范核心知识点思维脑图
- 从《爱莉克斯》说起,聊聊当前 VR 游戏设计的“困境”与“尝试”
- 【 Grey Hack 】WIFI万能钥匙
- Spring Bean的生命周期例子
- POJ 1003 Hangover
- ubuntu shuangxitong
- 如何像高级开发人员一样思考?
- 报错:libtool: Version mismatch error. This is libtool 2.4.6解决
- 如何批量将 Excel 文档转为 Txt 文本格式
- 数字信号处理第二章:Z变换及离散时间系统系统分析
- hysys动态模拟教程_学习记录-过程模拟实训-Aspen HYSYS教程
- 基因组变异类型详解及区分
- 这几款手机浏览器真的牛,比夸克更好用
- Linux vmwaver下安装cenos联网时出现 network is unreachable问题
- 题外-解决mac重启后git无法使用
- Go语言获取中文及其他非英语字符长度
- 爱 的 契 约 写给正在感情纠葛的三人
- 基于WEB 的实时事件通知