1.导入依赖

<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.19</version>
</dependency>
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;

2.在桌面准备一张图片a.png,定位并转化为multipartFile

@Test
public void testPdf() throws Exception{boolean is = false;File file = new File("C:\\Users\\scz\\Desktop\\a.png");FileInputStream fileInputStream = new FileInputStream(file);MultipartFile multipartFile = new MockMultipartFile("copy"+file.getName(),file.getName(), ContentType.APPLICATION_OCTET_STREAM.toString(),fileInputStream);try {PDDocument document = new PDDocument();/* PDPage page = new PDPage();PDRectangle rectangle = new PDRectangle(468, 450);page.setMediaBox(rectangle);*/
//这里是设置pdf的大小,大小固定,所有不推荐,下面是根据图片大小动态生成pdf大小String filename = multipartFile.getOriginalFilename();String fileSuffix = filename.substring(filename.lastIndexOf(".") + 1);Iterator readers = ImageIO.getImageReadersByFormatName(fileSuffix);ImageReader reader = (ImageReader) readers.next();ImageInputStream input = ImageIO.createImageInputStream(multipartFile.getInputStream());reader.setInput(input, true);int width = reader.getWidth(0)+300;int height = reader.getHeight(0)+500;PDPage pdPage = new PDPage(new PDRectangle(width, height));
//根据图片大小动态生成pdf大小document.addPage(pdPage);PDImageXObject pdImageXObject = PDImageXObject.createFromByteArray(document, multipartFile.getBytes(), "构建图片错误");PDPageContentStream contentStream = new PDPageContentStream(document, pdPage);//写入图片contentStream.drawImage(pdImageXObject, 0, 0);contentStream.close();document.save("C:\\Users\\scz\\Desktop\\1.pdf");//pdf输出document.close();is = true;} catch (Exception e) {is = false;}System.out.println(is);
}

3.最后会在桌面输出一个1.pdf

注意:桌面的路径要改成自己的

java将图片转化为pdf并输出相关推荐

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

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

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

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

  3. 计算机桌面上的照片转pdf免费,如何把图片转化为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. windows下用Python把png图片转化为pdf文件

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

  8. java将图片url转换成数据流输出到前端

    此代码是将前端传来的url参数进行转换,再以数据流的形式展示到前端 @Controller @RequestMapping("/tpzhurl") public class Ipp ...

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

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

最新文章

  1. Task03:青少年软件编程(Scratch)等级考试模拟卷(二级)
  2. 应用于真实世界机器人的强化学习
  3. Opengl-光照-基本光照-光照贴图(现在告别单调的方块弄个箱子)
  4. jira在linux下面的安装和配置
  5. 7、java中的面向对象思想和体现
  6. 企业微信2.6.0发布 可与微信用户群聊了
  7. 推荐7 款实用好用的电脑软件
  8. 按键精灵手机助手学习过程中的教程集锦收藏
  9. python 正则处理经纬度度分秒转换
  10. JFreeChart常用图表使用
  11. 从传统外企到阿里 P9,这位 Java 工程师经历了什么?
  12. FX系列DSZR回原点指令结束后M8029不亮的解决方案
  13. 乘风破浪的中国数据库
  14. Android性能测试 之 APPFPS的方法
  15. CNCC 2018 经典计算机算法技术论坛全解读 | CNCC 2018
  16. 如何做好一名软件实施顾问
  17. 利用halcon读取tiff图像,并且获取图像指针
  18. 20211202 做了接盘侠
  19. C语言计算字符串长度的方法
  20. Linux移动文件和文件夹(目录)命令

热门文章

  1. Ubuntu快速下载百度云文件
  2. java输出1道100的数
  3. 用R语言随机生成30个自然数, 然后把3的倍数的储存到一个向量,3k+1形式的数储存到另外一向量, 3k+2形式储存到第三个向量。写出R代码。
  4. Linux配置IP地址(只需两步,即可让你的linux使用网络!QvQ)
  5. js、html、jsp完美在线格式化工具
  6. MY-IMX6-EK200 Linux-4.1.15 测试手册 v2.0(4)
  7. PC-DMIS 2019 位置度评价(双向位置度公差)
  8. PKI/CA与数字证书概述
  9. vue项目使用ECharts的中国地图,设置地图不同板块的颜色以及动态显示效果
  10. 通达信公式编程:反包及其原理