maven依赖

<!--  pdf2tif 彩色版  --><dependency><groupId>com.sun.media</groupId><artifactId>jai_codec</artifactId><version>1.1.3</version></dependency><dependency><groupId>javax.media</groupId><artifactId>jai_core</artifactId><version>1.1.3</version></dependency><dependency><groupId>org.icepdf.os</groupId><artifactId>icepdf-core</artifactId><version>6.2.2</version></dependency><dependency><groupId>javax.media</groupId><artifactId>jai_imageio</artifactId><version>1.1</version></dependency>

实现代码

import java.nio.file.Files;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.TIFFEncodeParam;
import org.icepdf.core.pobjects.Document;
import org.icepdf.core.pobjects.Page;
import org.icepdf.core.util.GraphicsRenderingHints;
public static List<byte[]> pdf2tifColorList(byte[] data){List<byte[]> bytes = new ArrayList<>();Document document = new Document();try {document.setByteArray(data,0,data.length,"");float rotation = 0f;for (int i = 0; i < document.getNumberOfPages(); i++) {BufferedImage image = (BufferedImage) document.getPageImage(i,GraphicsRenderingHints.SCREEN, Page.BOUNDARY_CROPBOX,rotation, (float) 3.0);BufferedImage bufferedImage = new BufferedImage(image.getWidth(null), image.getHeight(null),BufferedImage.TYPE_INT_RGB);bufferedImage.getGraphics().drawImage(image, 0, 0, null);TIFFEncodeParam param = new TIFFEncodeParam();param.setCompression(TIFFEncodeParam.COMPRESSION_JPEG_TTN2);ByteArrayOutputStream out = new ByteArrayOutputStream(OmsConstants.Number.ONE_MB);ImageEncoder enc = ImageCodec.createImageEncoder("TIFF", out,param);enc.encode(bufferedImage);image.flush();out.close();bytes.add(out.toByteArray());}document.dispose();} catch (Exception e) {e.printStackTrace();}return bytes;}public static void main(String[] args) {File file = new File("D:/PDF/bb.pdf");try {List<byte[]> list = pdf2tifColorList(Files.readAllBytes(file.toPath())); int i = 1;for(byte[] b : list){FileOutputStream ou = new FileOutputStream(new File("D:/PDF/" + i + ".tif"));ou.write(b);ou.flush();i++;}}catch (Exception e){e.printStackTrace();}}

有个别jar下载不了的兄弟,可以点赞收藏然后留言邮箱,一般48小时内会发。

java 实现 PDF 转 TIF 【彩色压缩版】相关推荐

  1. java实现PDF转tif(图片清晰度高)

    分享一个pdf转换tif的方法.转换后图片格式小!清晰度还很高! <!-- pdf转tif --><dependency><groupId>org.icepdf.o ...

  2. java根据pdf模板生成pdf_Java 复制、压缩PDF文档

    在日常办公中,掌握操作PDF文档的能力尤为重要.在前文中我使用Java程序来演示过如何合并和拆分PDF文档.本文将介绍如何复制和压缩文档.通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另 ...

  3. JAVA导出PDF并压缩成zip

    JAVA导出PDF借助 iText pom先引入两个jar包 <dependency><groupId>com.itextpdf</groupId><arti ...

  4. 本草纲目pdf彩图版下载_本草纲目彩色插图版 完整版(PDF格式)

    本草纲目彩色插图版是最新打造的<本草纲目>药学常识书籍:本书籍记载着多种医药的使用以及利与害.是学医的朋友必备之选.欢迎在巴士下载站下载!! 本草纲目简介 <本草纲目>,本草著 ...

  5. Java实现PDF在线预览

    Java实现PDF在线预览 前言:之前一直PDF一直是下载后再查看,一直在想如何如何在线预览,现已找到方法,作此笔记,也希望都对其他人有所帮助 代码实现 @Slf4j @Controller @Req ...

  6. java 生成pdf 字体 type1、ttf、ottf、cid、woff

    java生成pdf技术选型 技术选型 java生成pdf最终选择itext7+pdfhtml+freemarker.为什么使用这个组合呢?生成pdf,通常会用html转pdf,这是因为html+css ...

  7. Java制作PDF转图片小工具

    背景: 前几日一位朋友突然找我帮忙将PDF转换成图片,我仗义相助,建议他使用福昕阅读器,然而他说转换需要VIP会员,老贵了.我花了半天时间寻找免费会员,结果不出所料没有找到,我一怒之下,便决定亲自动手 ...

  8. 【java】 文件批量下载并压缩为zip压缩包

    [java] 文件批量下载并压缩为zip压缩包 java常用的压缩技术 java中常见实现压缩与解压 业务场景 代码实现 注意点 java常用的压缩技术 常见的压缩格式有很多种,例如:zip.rar. ...

  9. JAVA编程习题及答案_完美版

    JAVA编程习题及答案_完美版 原创 lingwu7 最后发布于2017-08-15 20:01:12 阅读数 10796 收藏 发布于2017-08-15 20:01:12 版权声明:本文为博主原创 ...

  10. java解析pdf获取pdf中内容信息

    java解析pdf获取pdf中内容信息 今日项目中需要将pdf中的数据获取到进行校验数据,于是前往百度翻来覆去找到以下几种办法,做个笔记,方便日后查询. 废话不多说,我要直接上代码装逼了 第一种 使用 ...

最新文章

  1. 用ASP.NET AJAX框架扩展HTML Map控件
  2. C语言对strtok(),与strdup()介绍
  3. paper structure for innovation management
  4. Maven--资源文件resource的问题
  5. 老板思维:有支出必须有对应的收入
  6. Spyder里面好像不能用汉字
  7. pdflib textflow
  8. vs2015好看的字体_【Vs2015】 常用字体的设置
  9. 无线打印机服务器安装教程,网络打印服务器怎么安装和使用?
  10. 学计算机的逻辑学博士,逻辑学博士点
  11. 麻将432牌型听牌判断流程图
  12. 【与时俱进,智慧社区应运而生】
  13. 微信自动回复如何实现?用 Python 就可以
  14. 自动化做任务、收能量工具Hamibot,我愿称它为神器
  15. 5G向5.5G演进,变化是什么?
  16. 第一行代码——Android pdf
  17. 精通移动App测试实战:技术、工具和案例
  18. 判断移动端PC端访问网页时跳转到对应的移动端网页
  19. 免费视差特效AE模板素材 Technology Presentation
  20. NLP学习————实现一个BERT(简记)

热门文章

  1. mysql跨库查询解决方案
  2. 使用VSCode运行C语言
  3. Chrome浏览器解决主页被劫持的问题
  4. 一种设想:打造小程序版本公号和自托管的公号,将你的网站/blog做到微信/微信公号里且与PC端合一
  5. UCSC 基因组浏览器配置详解
  6. 罗马数字转换python_阿拉伯数字转换成罗马数字
  7. pcm5102a解码芯片音质评测_音乐更重要,iQOO Pro配备独立解码芯片,Hi-Fi音质更懂你...
  8. 阿里巴巴Java开发手册 终极版
  9. 360浏览器截图快捷键设置
  10. h5抽奖大转盘开发笔记小结,涉及到的知识点和包资源