java 实现图片转化为PDF
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相关推荐
- java将图片转化为pdf并输出
1.导入依赖 <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox< ...
- Itext学习(二)----实现把图片转化为pdf
实现 图像转化为pdf 把图片转化为pdf 实现效果图 itext 逻辑代码 import java.io.File; import java.io.FileNotFoundException; im ...
- xsd文件转图片_如何将图片转化为PDF格式?分享一个超简单的方法给你
如何将图片转化为PDF格式?有些朋友经常需要将图片转换成PDF格式文件,这样比较方便保存和传输.熟悉文件转换的朋友是知道该怎么操作的,不了解的朋友不用担心,今天我来教大家一个方法,能够帮助我们简单快速 ...
- python将图片转化为pdf,selenium自动化测试,xpath的语法
一:python将图片转化为pdf import glob import fitz import osfrom matplotlib import pyplot as pltdef pic2pdf(p ...
- Java 将图片组合成PDF文件
程序界面图: 代码清单: package 将图片组合成PDF文件; import java.awt.event.ActionEvent; import java.awt.event.ActionLis ...
- JAVA 将图片转换成pdf文件
/** * 将图片转换成pdf文件 *imgFilePath 需要被转换的img所存放的位置. 例如imgFilePath="D:\\projectPath\\55555.jpg" ...
- 计算机桌面上的照片转pdf免费,如何把图片转化为pdf,图片转换pdf工具推荐
我们经常遇到要将图片转换成pdf文件输出的情况,那么我们有什么办法能更快更好进行转换呢?小编今天给大家带来两个办法,一个是手机上操作的,另一个是电脑上的方法,实测好用! 手机端转换 手机上小编一般会使 ...
- windows下用Python把png图片转化为pdf文件
windows下用Python把pdf文件转化为图片:https://blog.csdn.net/apollo_miracle/article/details/100601499 不扯没用的,直接上代 ...
- Python把图片转化为pdf代码实例
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接:好看站 http://www.nrso.net/ python安装reportlab pip install r ...
- 图片怎么转化为pdf格式?
图片现在已经成为大多数朋友经常接触使用的文件格式,就像我们每个人手机里都存有大量的照片,所以说图片是大家日常接触使用最多的文件格式.但是大量的图片在使用储存的时候,确实很麻烦,无论我们上传到网络云盘, ...
最新文章
- html中设置表格单实线,css实现表格实线的方法
- linux /etc/hosts.allow和/etc/hosts.deny 限制 禁止 ip连接 黑名单 白名单
- 2021CCPC网络赛部分题解
- Fliptile (dfs+二进制压缩)
- java hibernate的使用_《Hibernate快速开始 – 4 – 使用JAVA持久层 API (JPA)教程》
- 4.1.1网络层功能概述
- 如何安全使用计算机,如何安全的使用计算机
- 初入C++(二)类和对象,构造函数,析构函数
- 哪里找电商素材模板?
- Android常用开发网址(持续更新)
- 用这4种策略提高你的Facebook广告浏览量
- 用语言控制Linux:Linux的语音识别软件
- Twhirl's limit exceeded
- Java事务之八——分布式事务(Spring+JTA+Atomikos+Hibernate+JMS)
- JavaCV的摄像头实战之七:推流(带声音)
- 概率图模型(PGM):贝叶斯网(Bayesian network)初探
- mailgun_使用Mailgun API简化应用程序中的电子邮件
- 安利!王一博与海飞丝的清爽秘籍
- 安装STM32Cubemx-5.6.1报错,需要64位java1.8.0_45 (64-bit)JRE
- android ui设计与开发工具,Android用户体验与UI设计