java 实现图片转化为PDF

1. 前期准备jar包

方法一:maven导入

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

方法二:去官网下载
https://mvnrepository.com/artifact/org.apache.itextpdf/itextpdf
手动导入项目中

2.使用的时候,需要修改 ImageTransformPDF()函数中的输入图片路径和输出pdf路径

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 com.minyeling.xxx.controller.ImageTransformPDF;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;/*** 使用时,需要修改 ImageTransformPDF()函数中的输入图片和输出pdf*/
public class Main4 {public static String ImageTransformPDF(){new ImageTransformPDF().imgOfPdf("输出pdf的路径和文件名(带后缀)", "需要转化成pdf的文件的路径");return "200!ok";}//为终极函数做铺垫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();}}
}

3.微信端可运行查看效果

java 实现图片转化为PDF相关推荐

  1. java将图片转化为pdf并输出

    1.导入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox< ...

  2. Itext学习(二)----实现把图片转化为pdf

    实现 图像转化为pdf 把图片转化为pdf 实现效果图 itext 逻辑代码 import java.io.File; import java.io.FileNotFoundException; im ...

  3. xsd文件转图片_如何将图片转化为PDF格式?分享一个超简单的方法给你

    如何将图片转化为PDF格式?有些朋友经常需要将图片转换成PDF格式文件,这样比较方便保存和传输.熟悉文件转换的朋友是知道该怎么操作的,不了解的朋友不用担心,今天我来教大家一个方法,能够帮助我们简单快速 ...

  4. python将图片转化为pdf,selenium自动化测试,xpath的语法

    一:python将图片转化为pdf import glob import fitz import osfrom matplotlib import pyplot as pltdef pic2pdf(p ...

  5. Java 将图片组合成PDF文件

    程序界面图: 代码清单: package 将图片组合成PDF文件; import java.awt.event.ActionEvent; import java.awt.event.ActionLis ...

  6. JAVA 将图片转换成pdf文件

    /** * 将图片转换成pdf文件 *imgFilePath 需要被转换的img所存放的位置. 例如imgFilePath="D:\\projectPath\\55555.jpg" ...

  7. 计算机桌面上的照片转pdf免费,如何把图片转化为pdf,图片转换pdf工具推荐

    我们经常遇到要将图片转换成pdf文件输出的情况,那么我们有什么办法能更快更好进行转换呢?小编今天给大家带来两个办法,一个是手机上操作的,另一个是电脑上的方法,实测好用! 手机端转换 手机上小编一般会使 ...

  8. windows下用Python把png图片转化为pdf文件

    windows下用Python把pdf文件转化为图片:https://blog.csdn.net/apollo_miracle/article/details/100601499 不扯没用的,直接上代 ...

  9. Python把图片转化为pdf代码实例

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ python安装reportlab pip install r ...

  10. 图片怎么转化为pdf格式?

    图片现在已经成为大多数朋友经常接触使用的文件格式,就像我们每个人手机里都存有大量的照片,所以说图片是大家日常接触使用最多的文件格式.但是大量的图片在使用储存的时候,确实很麻烦,无论我们上传到网络云盘, ...

最新文章

  1. html中设置表格单实线,css实现表格实线的方法
  2. linux /etc/hosts.allow和/etc/hosts.deny 限制 禁止 ip连接 黑名单 白名单
  3. 2021CCPC网络赛部分题解
  4. Fliptile (dfs+二进制压缩)
  5. java hibernate的使用_《Hibernate快速开始 – 4 – 使用JAVA持久层 API (JPA)教程》
  6. 4.1.1网络层功能概述
  7. 如何安全使用计算机,如何安全的使用计算机
  8. 初入C++(二)类和对象,构造函数,析构函数
  9. 哪里找电商素材模板?
  10. Android常用开发网址(持续更新)
  11. 用这4种策略提高你的Facebook广告浏览量
  12. 用语言控制Linux:Linux的语音识别软件
  13. Twhirl's limit exceeded
  14. Java事务之八——分布式事务(Spring+JTA+Atomikos+Hibernate+JMS)
  15. JavaCV的摄像头实战之七:推流(带声音)
  16. 概率图模型(PGM):贝叶斯网(Bayesian network)初探
  17. mailgun_使用Mailgun API简化应用程序中的电子邮件
  18. 安利!王一博与海飞丝的清爽秘籍
  19. 安装STM32Cubemx-5.6.1报错,需要64位java1.8.0_45 (64-bit)JRE
  20. android ui设计与开发工具,Android用户体验与UI设计

热门文章

  1. 雅猴的脚印——2019年下半年
  2. 深圳福田区特殊住房申请学位需要哪些材料 具体材料汇总
  3. Node.js学习笔记--进阶之路
  4. 为谷歌浏览器Chrome创建多个用户
  5. 安装软件时提示“系统管理员设置策略禁止此安装”,解决方案
  6. Kylin使用Spark构建Cube
  7. 软件测试员工作经验分享
  8. 那些年 用过的经典App
  9. html鼠标悬停图片抖动,鼠标悬停时图像抖动
  10. 读 《我为什么要逃离北上广了?》有感