java 实现 PDF 转 TIF 【彩色压缩版】
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 【彩色压缩版】相关推荐
- java实现PDF转tif(图片清晰度高)
分享一个pdf转换tif的方法.转换后图片格式小!清晰度还很高! <!-- pdf转tif --><dependency><groupId>org.icepdf.o ...
- java根据pdf模板生成pdf_Java 复制、压缩PDF文档
在日常办公中,掌握操作PDF文档的能力尤为重要.在前文中我使用Java程序来演示过如何合并和拆分PDF文档.本文将介绍如何复制和压缩文档.通常复制文档有两种形式,一种是跨文档复制,即将一个文档复制到另 ...
- JAVA导出PDF并压缩成zip
JAVA导出PDF借助 iText pom先引入两个jar包 <dependency><groupId>com.itextpdf</groupId><arti ...
- 本草纲目pdf彩图版下载_本草纲目彩色插图版 完整版(PDF格式)
本草纲目彩色插图版是最新打造的<本草纲目>药学常识书籍:本书籍记载着多种医药的使用以及利与害.是学医的朋友必备之选.欢迎在巴士下载站下载!! 本草纲目简介 <本草纲目>,本草著 ...
- Java实现PDF在线预览
Java实现PDF在线预览 前言:之前一直PDF一直是下载后再查看,一直在想如何如何在线预览,现已找到方法,作此笔记,也希望都对其他人有所帮助 代码实现 @Slf4j @Controller @Req ...
- java 生成pdf 字体 type1、ttf、ottf、cid、woff
java生成pdf技术选型 技术选型 java生成pdf最终选择itext7+pdfhtml+freemarker.为什么使用这个组合呢?生成pdf,通常会用html转pdf,这是因为html+css ...
- Java制作PDF转图片小工具
背景: 前几日一位朋友突然找我帮忙将PDF转换成图片,我仗义相助,建议他使用福昕阅读器,然而他说转换需要VIP会员,老贵了.我花了半天时间寻找免费会员,结果不出所料没有找到,我一怒之下,便决定亲自动手 ...
- 【java】 文件批量下载并压缩为zip压缩包
[java] 文件批量下载并压缩为zip压缩包 java常用的压缩技术 java中常见实现压缩与解压 业务场景 代码实现 注意点 java常用的压缩技术 常见的压缩格式有很多种,例如:zip.rar. ...
- JAVA编程习题及答案_完美版
JAVA编程习题及答案_完美版 原创 lingwu7 最后发布于2017-08-15 20:01:12 阅读数 10796 收藏 发布于2017-08-15 20:01:12 版权声明:本文为博主原创 ...
- java解析pdf获取pdf中内容信息
java解析pdf获取pdf中内容信息 今日项目中需要将pdf中的数据获取到进行校验数据,于是前往百度翻来覆去找到以下几种办法,做个笔记,方便日后查询. 废话不多说,我要直接上代码装逼了 第一种 使用 ...
最新文章
- 用ASP.NET AJAX框架扩展HTML Map控件
- C语言对strtok(),与strdup()介绍
- paper structure for innovation management
- Maven--资源文件resource的问题
- 老板思维:有支出必须有对应的收入
- Spyder里面好像不能用汉字
- pdflib textflow
- vs2015好看的字体_【Vs2015】 常用字体的设置
- 无线打印机服务器安装教程,网络打印服务器怎么安装和使用?
- 学计算机的逻辑学博士,逻辑学博士点
- 麻将432牌型听牌判断流程图
- 【与时俱进,智慧社区应运而生】
- 微信自动回复如何实现?用 Python 就可以
- 自动化做任务、收能量工具Hamibot,我愿称它为神器
- 5G向5.5G演进,变化是什么?
- 第一行代码——Android pdf
- 精通移动App测试实战:技术、工具和案例
- 判断移动端PC端访问网页时跳转到对应的移动端网页
- 免费视差特效AE模板素材 Technology Presentation
- NLP学习————实现一个BERT(简记)