万网主机怎么上传网站吗,茅台酒国内营销网络,腾讯企点是干嘛的,做网站的属于什么专业?上一篇文章说到了HTML转PDF的实现方式#xff0c;而就在那个需求的另外一个方面#xff0c;项目要求要实现页面转图片的需求#xff0c;主要是JPG#xff0c;TIFF#xff0c;PNG等格式。弄得我有点囧#xff0c;上次一直没搞定。也没找到合适的工具进行转换。前一小段时间…上一篇文章说到了HTML转PDF的实现方式而就在那个需求的另外一个方面项目要求要实现页面转图片的需求主要是JPGTIFFPNG等格式。弄得我有点囧上次一直没搞定。也没找到合适的工具进行转换。前一小段时间发现Apache的一个开源工具可以把PDF转成图片没有直接从HTML转图片的jar包就只能曲线救国了。忘了介绍了。PDF转图片的包叫做apache pdfBox 右边是pdfbox的官网 pdfBox官网下面直接贴代码了public void convertToTiff(String pdfFilePath, String tiffFileName)throws Exception {PDDocument doc PDDocument.load(pdfFilePath);int pageCount doc.getPageCount();List pages doc.getDocumentCatalog().getAllPages();List files new ArrayList();List deleteFiles new ArrayList();for(int i0;iPDPage page (PDPage)pages.get(i);BufferedImage image page.convertToImage(BufferedImage.TYPE_BYTE_BINARY, 300);Iterator iter ImageIO.getImageWritersBySuffix(jpg);ImageWriter writer (ImageWriter)iter.next();File outFile new File(C:/1i.jpg);FileOutputStream out new FileOutputStream(outFile);ImageOutputStream outImage ImageIO.createImageOutputStream(out);writer.setOutput(outImage);writer.write(new IIOImage(image,null,null));this.jpg2tif(C:/1i.jpg, C:/1i.tif);files.add(new File(C:/1i.tif));deleteFiles.add(outFile);deleteFiles.add(new File(C:/1i.tif));outImage.close();out.close();writer.dispose();}if(files ! null){this.tif2Marge(files, C:/1.tif);}}/*** 将jpg格式转化为tif格式。* param srcFile 需要装换的源文件* param descFile 装换后的转存文件* throws Exception*/public void jpg2tif(String srcFile, String descFile) throws Exception {RenderedOp src JAI.create(fileload, srcFile);OutputStream os new FileOutputStream(descFile);TIFFEncodeParam param new TIFFEncodeParam();param.setCompression(TIFFEncodeParam.COMPRESSION_JPEG_TTN2);ImageEncoder encoder ImageCodec.createImageEncoder(TIFF, os, param);encoder.encode(src);os.close();}/*** 将若干tif文件合同为一个tif文件* param srcFile* param descFile* throws Exception*/public void tif2Marge(List srcFile, String descFile) throws Exception {List pages new ArrayList(srcFile.size() - 1);for (int i 0; i srcFile.size(); i) {RenderedOp firstpage JAI.create(fileload, srcFile.get(0).getCanonicalPath());if(i ! 0 ){RenderedOp page JAI.create(fileload, srcFile.get(i).getCanonicalPath());pages.add(page);}OutputStream os new FileOutputStream(descFile);TIFFEncodeParam param new TIFFEncodeParam();param.setCompression(TIFFEncodeParam.COMPRESSION_JPEG_TTN2);param.setExtraImages(pages.iterator());ImageEncoder encoder ImageCodec.createImageEncoder(TIFF, os, param);encoder.encode(firstpage);firstpage.dispose();for (int j 1; j pages.size(); j) {((RenderedOp) pages.get(j)).dispose();}os.close();pages.clear();}}