创建多张图片转PDF工具类

package order.util;

import java.io.File;

import java.io.FileOutputStream;

import java.util.Random;

import com.hbasesoft.framework.common.utils.logger.LoggerUtil;

import com.itextpdf.text.Document;

import com.itextpdf.text.Image;

import com.itextpdf.text.PageSize;

import com.itextpdf.text.Rectangle;

import com.itextpdf.text.pdf.PdfWriter;

/**

*

* <Description>多张图片转pdf

*

* @author

* @version 1.0

* @taskId

* @CreateDate 2018年8月30日

* @since V1.0

* @see order.util

*/

public class ImgToPDFUtil {

/**

*

* Description: <br>

*

* @author <br>

* @taskId <br>

* @param fileName pdf文件路径

* @param imagesPath 图片文件路径

* @return <br>

*/

public static File imageToPDF(String fileName, String imagesPath) {

try {

// 生成14位消息流水号

Random rand = new Random();

String cardNnumer = "";

for (int a = 0; a <= 14; a++) {

cardNnumer += rand.nextInt(10);

}

fileName = fileName+"\\"+cardNnumer+".pdf";

File file = new File(fileName);

// 第一步:创建一个document对象。

Document document = new Document(PageSize.A4, 0, 0, 0, 0);

// 第二步:

// 创建一个PdfWriter实例,

PdfWriter.getInstance(document, new FileOutputStream(fileName));

// 第三步:打开文档。

document.open();

// 第四步:在文档中增加图片。

File files = new File(imagesPath);

String[] images = files.list();

int len = images.length;

for (int i = 0; i < len; i++)

{

if (images[i].toLowerCase().endsWith(".bmp")

|| images[i].toLowerCase().endsWith(".jpg")

|| images[i].toLowerCase().endsWith(".jpeg")

|| images[i].toLowerCase().endsWith(".gif")

|| images[i].toLowerCase().endsWith(".png")) {

String temp = imagesPath + "\\" + images[i];

Image img = Image.getInstance(temp);

img.setAlignment(Image.ALIGN_CENTER);

// 根据图片大小设置页面,一定要先设置页面,再newPage(),否则无效

document.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));

document.newPage();

document.add(img);

} else {

LoggerUtil.info("此文件不是图片类型");

}

}

// 第五步:关闭文档。

document.close();

return file;

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

return null;

}

}

}

下面是使用方法,使用阿里云oss

Java 多张图片 转PDF格式相关推荐

  1. Java DOC 转换给 PDF 格式文档的代码

    工作过程,把写代码过程经常用的代码片段备份一次,下面的代码段是关于Java DOC 转换给 PDF 格式文档的代码,应该对码农们有所用. import java.io.File; import jav ...

  2. [JAVA使用技巧]Java抽取Word和PDF格式文件_网络大本营

    Java抽取Word和PDF格式文件的四种武器(1) 很多人用java进行文档操作时经常会遇到一个问题,就是如何获得word,excel,pdf等文档的内容?我研究了一下,在这里总结一下抽取word, ...

  3. Java纯后端生成PDF格式报表的三种方案(包含echarts图表)

    最近做了一个奇葩的需求,研究了一下Java纯后端生成PDF报表的方案,顺便将研究的方案做个总结复盘,分享一下. 需求分析:Java后端定时任务统计汇总成报表数据,并生成PDF格式的报表文件,并通过邮件 ...

  4. 超级安全——Python 合成多张图片到PDF格式

    在日常生活中,经常会遇到需要提交身份证正反面证明资料的情况,而且这些网站大部分只接受pdf格式,这时候我们就需要把身份证正反面两张图片合成为一个pdf文件. 在macOS系统下,预览软件可以轻松做到这 ...

  5. 超级安全,Python 合成多张图片到PDF格式

    在日常生活中,经常会遇到需要提交身份证正反面证明资料的情况,而且这些网站大部分只接受pdf格式,这时候我们就需要把身份证正反面两张图片合成为一个pdf文件. 在macOS系统下,预览软件可以轻松做到这 ...

  6. Java多张图片合成PDF

    import com.itextpdf.text.Document; import com.itextpdf.text.Image; import com.itextpdf.text.Rectangl ...

  7. java标签库 taglib pdf格式_JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库...

    JSTL JSP Standard Tag Library 标准标签库 JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能. JSTL库有core, i18n, fmt, sql ...

  8. java 将doc格式的文档转化为pdf格式(实现Word文件预览)

    doc格式的文档要实现预览功能,首先要将文档转化为pdf格式的文档 doc文档转pdf文档步骤 导入jar包 将aspose-words-jdk16-14.6.0.0.jar包导入项目中: 创建一个格 ...

  9. java : word,excel,img,ppt各种文档转换pdf格式以流方式

    前提: 面对各种文件转换pdf格式,我下面写的都是一些方法,其中每个方法都以流的方式进行参数的传递. 通过猿友的帮忙,修改了部分jar包,解决excel转换pdf导致的水印问题~ 源码链接:https ...

最新文章

  1. python描述器做权限控制_Python装饰器14-描述器
  2. mysql连接优先级设置_MySQL的按优先级等效连接
  3. hibernate教程--常用配置和核心API详解
  4. MyBatis中提示:You have an error in your SQL syntax; check the manual that corresponds to your MySQL ser
  5. Win7system登录打开计算机,Windows7系统system文件丢失导致开机黑屏如何解决
  6. magento 增加一个layout template
  7. 多线程编程学习总结(转载)
  8. 计算机网络自考顺序,自考计算机网络课程复习顺序是怎样?有没有好用的计算机网络自考APP?...
  9. 神奇的 37% 的概率
  10. 单生产者/单消费者 的 FIFO 无锁队列
  11. java swing窗口放置屏幕中央问题思考
  12. 任务状态段(Task State Segment)
  13. 使用Nodejs+puppeteer 批量保存网页为图片或PDF
  14. 计算机科学与技术专业课程简介
  15. Vim下快速删除字符串
  16. matplotlib使用笔记
  17. 【论文总结】Enhancing Underwater Imagery using Generative Adversarial Networks
  18. IOS版Telegram启用中文界面的方法
  19. Axure RP 9 授权码
  20. Warshall算法

热门文章

  1. tomcat 服务器访问日志配置方法
  2. NC14670 脸盆da哥的木桶——牛客
  3. 网络-IP地址(嵌入式学习)
  4. yolov3的缺点_YOLOV3问答式解读
  5. 基于cruise的混合动力商用车仿真,P2并联混动仿真模型可实现并联混动汽车动力性经济性仿真
  6. 矩阵连乘积 c语言程序,(用括号表示出结果)矩阵连乘C语言描述
  7. matlab数值差分二阶倒数,MATLAB07:数值计算
  8. PIC 8位单片机的分类和特点
  9. SysML和UML建模工具
  10. Android五大布局:FrameLayout、LinearLayout、AbsoluteLayout、RelativeLayout和TableLayout