解决tif图片有时读取不到的问题

master
zengwh 5 years ago
parent 3bb7475922
commit 692c82837d

@ -232,12 +232,11 @@
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
</dependency>
<!--<dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>3.4.1</version>
<version>3.6</version>
</dependency>
-->
</dependencies>
<build>

@ -11,11 +11,14 @@ import com.lowagie.text.pdf.*;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.JPEGEncodeParam;
import com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi;
import com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriterSpi;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.imageio.ImageIO;
import javax.imageio.spi.IIORegistry;
import javax.media.jai.JAI;
import javax.media.jai.RenderedOp;
import javax.servlet.http.HttpServletRequest;
@ -152,8 +155,13 @@ public class img2PdfUtil {
BufferedImage bufImg = null;
Graphics2D g = null;
try {
//srcImg = ImageIO.read(srcImgFile);//文件转化为图片
srcImg = ImageIO.read(new FileInputStream(srcImgFile));
if(null == srcImg){
IIORegistry registry = IIORegistry.getDefaultInstance();
registry.registerServiceProvider(new com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriterSpi());
registry.registerServiceProvider(new com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi());
srcImg = ImageIO.read(new FileInputStream(srcImgFile));
}
//System.out.println("读取图片"+(end-start)/1000.0+"s");
int srcImgWidth = srcImg.getWidth(null);//获取图片的宽
int srcImgHeight = srcImg.getHeight(null);//获取图片的高
@ -194,7 +202,7 @@ public class img2PdfUtil {
} catch (Exception e) {
e.printStackTrace();
e.getMessage();
return null;
return outPath;
}finally {
if(null != g){
g.dispose();// 释放资源*/

Loading…
Cancel
Save