第一更 任务需要将图片byte[]转成一个原图1/4大小的缩略图,并以base64返回。
思路如下:
开始–>读取图片–>转byte[]–>复制byte[]得到一个新InputStream–>新InputStream转BufferdImage–>新BufferdImage设置长宽–>将新BufferdImage使用ImageIO.write输出到ByteArrayOutputStream–>ByteArrayOutputStream转byte[]–>进行base64编码–>完成
读取:
1.读取图片
2.转为byte[]
转化:
1.byte[]数组 转 buffereImage;
2.设置bufferdImage参数;
3.ImgeIO写bufferdImage到ByteArrayOutputStream;
4.将ByteArrayOutputStream转为byte[];
5.将byte[]数组进行加密返回。
byte[] content = null;
File file = new File("D:/a.pdf");
FileInputStream in = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream(1024);
byte[] b = new byte[1024];
int n;
while ((n = in.read(b)) != -1) {
bos.write(b, 0, n);
in.close();
bos.close();
content = bos.toByteArray();
图片byte[]数组: content
InputStream in = new ByteArrayInputSteam(content,0,content.length);
BufferdImage bImage = ImageIO.read(in);
int height = bImage.getHeight()/4;
int width = bImage.getWidth()/4;
BufferedImage newBImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
newBImage.getGraphics().drawImage(bImage, 0, 0, width, height, null);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(newBImage, "jpg", out);
byte[] smallContent = out.toByteArray();
String data = Base64.encodeToString(smallContent);
return data;
最近用
java
对word三大办公软件和视频进行
缩略图
展示,用到了spire这个插件,比较简单我直接展示下代码,主要就是那个jar包得自己打包,我自己使用pom没法直接导入(即使指定了网址),所以我这边只展示代码了。项目部署在linux上,
生成
缩略图
的时候部分字体就会显示不了,如下图。后来发现是linux缺少中文字体导致的,这里介绍下导入中文字体的方法。这个主要就是
生成
的
缩略图
的文件命名。4.video
缩略图
。
<!-- https://mvnrepository.com/artifact/org.apache.
pdf
box/fontbox -->
<dependency>
<groupId>org.apache.
pdf
box</groupId>
<artifactId>fontb
本文实例讲述了
java
生成
缩略图
的方法。分享给大家供大家参考,具体如下:package com.util;import
java
.awt.image.BufferedImage;import
java
.io.File;import
java
.io.IOException;import
java
x.imageio.ImageIO;/***
生成
压缩
图**/public class ImageScal...
项目中要使用
PDF
的
缩略图
,使用
java
几个开源项目来对
pdf
转换为
图片
的工作。
参照了文章:http://
java
sogo.iteye.com/blog/1169234
对比这几款开源项目
PDF
Renderer、
pdf
box、jpedal 的做法:
1.
PDF
Renderer: 确实效率最高,但是缺少字体支持对大多数中文
pdf
处理不了(很奇怪为什么项目组还没做默认字体支持)
2.
pdf
//将文件写入到本地并返回
图片
路径(路径用于存入数据库)
public String[] uploadImage1(MultipartFile file,String barCode){
//时间戳
String currentTime =String.valueOf(new Date().getTime());
//原始
图片
路径
* 将指定
pdf
文件的首页转换为指定路径的
缩略图
*@param filepath 原文件路径,例如d:/test.
pdf
*@param imagepath
图片
生成
路径,例如 d:/test-1.jpg
*@param zoom
缩略图
显示...
<!--使用的是
pdf
box计数总页数与
缩略图
-->
<!-- https://mvnrepository.com/artifact/com.sleepycat/je -->
<dependency>
<groupId>com.sleepycat</groupId>
<artifactId>......
写的这些功能主要就是放在定时任务上,每分钟查询是否要有转换的
图片
,有的换然后就转换,前端展示
图片
就可以,大家可以浏览
图片
。不用在去下载哪些文件了。下面的是
pdf
转
图片
加
缩略图
的import
java
.awt.Graphics;import
java
.awt.image.BufferedImage;import
java
.io.File;import
java
.io.IOException;impo...
PDF
Renderer是一个LGPL许可的纯
java
库,使其简单(取自他们的示例页面):File file = new File("test.
pdf
");RandomAccessFile raf = new RandomAccessFile(file, "r");FileChannel channel = raf.getChannel();ByteBuffer buf = channel.map...
Java
-截取视频资料中的一帧作为
缩略图
,本文使用了Apache
PDF
Box中的常用类(PDDocument,
PDF
Renderer),去读取
PDF
,截取
PDF
。同时也使用FileUtils类中的copyURLToFile方法,读取网络中的
PDF
资源。简单方便,可快速上手。
具体代码如下:
private void officeTo
Pdf
(){
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
<groupId>org.apache.
pdf
box</groupId>
<artifactId>
pdf
box</artifactId>
<version>2.0.8</versi...
package com.ces.component.pictrueCut.entity;
import
java
.awt.Image;
import
java
.awt.Rectangle;
import
java
.awt.image.BufferedImage;
import
java
.io.File;
import
java
.io.FileNotFoundExcep...
http://zhengjj-2009.iteye.com/blog/1841190原文地址
最近在上下班的路上看
pdf
文件比较多,想把整本书d
pdf
分割成对应的章节,所以自己看了一些参考资料后,自己写了一个小程序,实现了自己的想法。
我的基本需求是:提供一个
pdf
文件的全路径 + 新
生成
pdf
文件名称 + 起始页码 + 结束页码 最后就能在相同目录下找到新文件。
可以运行的代码是(需