Java pdf和jpg互转案例
pdfbox:jpg转pdf:
/** *使用pdfbox将jpg转成pdf *@paramjpgStreamjpg输入流 *@parampdfPathpdf文件存储路径 *@throwsIOExceptionIOException */ publicstaticvoidjpgToPdf(InputStreamjpgStream,StringpdfPath)throwsIOException{ PDDocumentpdDocument=newPDDocument(); BufferedImageimage=ImageIO.read(jpgStream); PDPagepdPage=newPDPage(newPDRectangle(image.getWidth(),image.getHeight())); pdDocument.addPage(pdPage); PDImageXObjectpdImageXObject=LosslessFactory.createFromImage(pdDocument,image); PDPageContentStreamcontentStream=newPDPageContentStream(pdDocument,pdPage); contentStream.drawImage(pdImageXObject,0,0,image.getWidth(),image.getHeight()); contentStream.close(); pdDocument.save(pdfPath); pdDocument.close(); }
pdfbox:pdf转jpg:
staticvoidpdfbox()throwsIOException{ longstart=System.currentTimeMillis(); //pdf路径 URLurl=newURL("file:///D:/1.pdf"); InputStreamstream=URLUtil.getStream(url); //加载解析PDF文件 PDDocumentdoc=PDDocument.load(stream); PDFRendererpdfRenderer=newPDFRenderer(doc); PDPageTreepages=doc.getPages(); intpageCount=pages.getCount(); for(inti=0;iicepdf:pdf转jpg
Documentdocument=newDocument(); document.setUrl(newURL(pdfUrl)); intpageNum=document.getNumberOfPages(); for(inti=0;ijpg if(i!=0){ continue; } //3、pdf->jpg BufferedImagebim=(BufferedImage)document.getPageImage(i, GraphicsRenderingHints.SCREEN,Page.BOUNDARY_CROPBOX, rotation,scale); os=newByteArrayOutputStream(); ImageIO.write(bim,"jpg",os); //4、jpg->fdfs byte[]datas=os.toByteArray(); InputStreamis=newByteArrayInputStream(datas); 补充知识:Java实现对png图片文件电子签名操作
我就废话不多说了,大家还是直接看代码吧~
/** *根据图片像素位置添加用户电子签名 *@paramimagePath要操作的图片路径 *@paramsignImagePath电子签名图片路径 *@paramoutImagePath合成后输出图片路径 *@paramwidth像素位宽度 *@paramheight像素位高度 */ publicstaticvoidsyntheticPicture(StringimagePath,StringsignImagePath,Integerwidth,Integerheight,StringoutImagePath){ try{ BufferedImagebig=ImageIO.read(newFile(imagePath)); BufferedImagesmall=ImageIO.read(newFile(signImagePath)); Graphics2Dg=big.createGraphics(); //根据图片像素位置粘贴带电子签名 g.drawImage(small,width,height,small.getWidth(),small.getHeight(),null); g.dispose(); ImageIO.write(big,outImagePath.split("\\.")[1],newFile(outImagePath)); }catch(Exceptione){ thrownewRuntimeException(e); } }以上这篇Javapdf和jpg互转案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。