1、首先将上传的非jpg,pdf格式的文件转成pdf,这个是采用OpenOffice进行转的,具体代码如下:

private void officeToPdf(){

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

try {

connection.connect();

} catch (ConnectException e) {

e.printStackTrace();

}

DocumentConverter converter = new OpenOfficeDocumentConverter(

connection);

converter.convert(officeFile, pdfFile);

// close the connection

connection.disconnect();

}

2、然后将pdf首页转为jpg,具体代码如下:

private  void pdfToJPG(String inputFile) throws IOException { // load a pdf from a byte buffer File file = new File(inputFile); RandomAccessFile raf = new RandomAccessFile(file, "r"); FileChannel channel = raf.getChannel(); ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()); PDFFile pdffile = new PDFFile(buf); for (int i = 1; i <= pdffile.getNumPages(); i++) { if (i == 1) { // draw the first page to an image // 以图片的形式来描绘首页 PDFPage page = pdffile.getPage(i); // get the width and height for the doc at the default zoom Rectangle rect = new Rectangle(0, 0, (int) page.getBBox() .getWidth(), (int) page.getBBox().getHeight()); // generate the image // 生成图片 Image img = page.getImage(rect.width, rect.height, // width & // height rect, // clip rect null, // null for the ImageObserver true, // fill background with white true // block until drawing is done ); BufferedImage tag = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(img, 0, 0, rect.width, rect.height, null); FileOutputStream out = new FileOutputStream( imagePath+"\\"+fileName.substring(fileName.lastIndexOf("/")+1) + ".jpg"); // 输出到文件流 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(tag); // JPEG编码 // 关闭输出流 out.close(); System.out.println("PDF文件转换JPG文件成功"); } }

java pdf 首页 缩略图_Java中将上传的文件首页生成缩略图(先将上传的文件转成pdf,然后将pdf转成jpg)...相关推荐

  1. WordPress彻底禁用上传媒体图片自动生成缩略图及多尺寸图片(亲测可用)

    WordPress默认上传图片的时候会自动生成缩略图及多尺寸的图片文件,大部分网站都用不到这些多余的图片,不仅仅占用空间,而且上传的时候还会消耗额外的性能. 下面仅需两段函数代码即可彻底禁用该功能. ...

  2. php 上传类 缩略图,php图片文件上传类 (附自动生成缩略图) | 学步园

    /** 作 者:冻结回忆 (linghunts@163.com); 功 能:文件上传类 支持文件夹自动分组保存(2008-01/09); 时 间:2007-10-17; 创建类:参数(文件域,文件原名 ...

  3. php 缩略图增加水印,php 图片上传代码(具有生成缩略图与增加水印功能)

    class upfile { public $filepath = "www.111com.net/"; //上传文件存放文件夹 public $filesize = 100000 ...

  4. php imagick 缩略图,PHP Imagick完美实现图片裁切、生成缩略图、添加水印,

    PHP Imagick完美实现图片裁切.生成缩略图.添加水印, 本文实例讲解了PHP使用Imagick 裁切.生成缩略图.添加水印自动检测和处理,支持gif,分享给大家供大家参考,具体内容如下 调用方 ...

  5. io读两个文件,生成list 排重后写本地文件(Java)

    import java.io.*; import java.util.ArrayList; import java.util.List;/*** 2020年11月16日15点* 作者 石宗昊* io读 ...

  6. java xml特殊字符转义_Java中将xml文件转化为json遇到特殊字符会报错!

    前言: 我们在项目开发中,有时候调用别人提供的接口,接收到的数据是xml,这时候为了方便后续开发中的使用,需要解析xml并把数据转化成json,今天这篇文章就讲解下如何把xml转化成json,并在这个 ...

  7. java element 获取属性_java 获取类,属性变量,方法,方法参数上注解的值等

    一:获取类上注解的值 定义注解@Target(ElementType.TYPE)用于类,接口等 @Target(ElementType.TYPE) @Retention(RetentionPolicy ...

  8. dropzone js video上传使用frame-grap.js生成缩略图

    第一步:从github上下载frame-grap组件,下载的压缩里,只有下面两个文件是有用的 rsvp.js 和 frame-grab.js,目录: /frame-grab.js-master/cli ...

  9. java 分页 不 排序_java - 我应该如何将未分页但已排序的Pageable传递给Spring JPA存储库? - 堆栈内存溢出...

    现在,我实现了自己的Pageable类,如下所示: import org.springframework.data.domain.Pageable; import org.springframewor ...

最新文章

  1. intellij idea的TFS拉取项目文件不完全、文件误删恢复、TFS忽略文件解决方法
  2. android不同Activity之间的数据共享
  3. 使用IntelliJ IDEA 2016创建maven管理的Java Web项目
  4. Prepared statements(mysqli pdo)
  5. poj 2503 Trie树
  6. Eclipse 的常见报错、警告和原因分析、解决方式以及相关操作快捷键小结(持续更新)
  7. java索引丢失怎么解决_java.sql.SQLException: 索引中丢失 IN 或 OUT 参数:: 1解决办法...
  8. JVM指令集(指令码、助记符、功能描述)(转)
  9. LigerUI权限系统之角色管理
  10. Linux转发性能评估与优化(转发瓶颈分析与解决方案)
  11. asp.net消除锯齿的办法
  12. 近三十而立的我们,到底是先成家后立业还是先立业再成家?
  13. (转)三款免费Win7系统摄像头录制工具
  14. 【LeetCode】【队列】剑指 Offer 59 - I. 滑动窗口的最大值 思路解析和代码
  15. MYSQL cmd命令行大全
  16. C++ Primer Plus 学习记录(第五章节-包含练习题答案)
  17. c# virtual 和 abstract
  18. 奇怪的curl 403错误
  19. 一款应用的UI设计是否合格,该如何判断?
  20. 如何使用Win10剪切板

热门文章

  1. 经典问题之「分支预测」
  2. kvm vnc的使用,鼠标漂移等
  3. CSS设计指南(读书笔记 - 背景)
  4. 60. Spring Boot写后感【从零开始学Spring Boot】
  5. 用PyQt实现透明桌面时钟小部件
  6. [Android开源项目] GitHub开源项目总结 (转)
  7. asp.net中MaintainScrollPositionOnPostback属性的使用
  8. 揭开Vmware 虚拟软件层的秘密
  9. html5包含inc文件,HTML中include file标签的用法
  10. 将json 填入表格_如何将Google表格用作JSON端点