Java pdf和jpg互转案例

  

<强> pdfbox: jpg转pdf:

     /* *   *使用pdfbox将jpg转成pdf   * @param jpgStream jpg输入流   * @param pdfPath pdf文件存储路径   * @throws IOException IOException   */公共静态孔隙jpgToPdf (InputStream jpgStream字符串pdfPath)抛出IOException {      PDDocument PDDocument=new PDDocument ();   BufferedImage图像=ImageIO.read (jpgStream);      PDPage PDPage=new PDPage(新PDRectangle (image.getWidth (), image.getHeight ()));   pdDocument.addPage (pdPage);   PDImageXObject PDImageXObject=LosslessFactory。createFromImage (pdDocument、图像);   PDPageContentStream contentStream=new PDPageContentStream (pdDocument pdPage);   contentStream。drawImage (pdImageXObject 0 0, image.getWidth (), image.getHeight ());   contentStream.close ();   pdDocument.save (pdfPath);   pdDocument.close ();   }   之前      

<强> pdfbox: pdf转jpg:

        静态孔隙pdfbox()抛出IOException {   长开始=System.currentTimeMillis ();//pdf路径   网址URL=新的URL(“文件:///D:/1. pdf”);   InputStream流=URLUtil.getStream (url);//加载解析PDF文件   PDDocument doc=PDDocument.load(流);   PDFRenderer PDFRenderer=new PDFRenderer (doc);   PDPageTree页面=doc.getPages ();   int pageCount=pages.getCount ();   for (int i=0;我& lt;pageCount;我+ +){   BufferedImage bim=pdfRenderer。renderImageWithDPI(我200);   ByteArrayOutputStream os=new ByteArrayOutputStream ();   ImageIO。写(荡妇,jpg,操作系统);   byte[]数据=os.toByteArray ();//InputStream是=new ByteArrayInputStream(数据);//jpg文件转出路径   FileUtil。writeBytes(数据,新文件(“d:/jpg”+我+ " . jpg "));   }   长债=System.currentTimeMillis ();   长时间=(结束-开始)/1000;   System.out.println (StrUtil。格式(pdf转jpg耗时:{}s”,时间));   }      

<强> icepdf: pdf转jpg

        文档文件=新文档();   文档。setUrl(新的URL (pdfUrl));   int pageNum=document.getNumberOfPages ();   for (int i=0;我& lt;pageNum;我+ +){//目前仅支持1对1的pdf→jpg   如果(我!=0){   继续;   }//3、pdf→jpg   BufferedImage bim=(BufferedImage) document.getPageImage(我   GraphicsRenderingHints。屏幕,Page.BOUNDARY_CROPBOX,   旋转、尺度);   操作系统=new ByteArrayOutputStream ();   ImageIO。写(荡妇,jpg,操作系统);//4,jpg→fdfs   byte[]数据=os.toByteArray ();   InputStream是=new ByteArrayInputStream(数据);      

<强> Java实现对png图片文件电子签名操作

  

我就废话不多说了,大家还是直接看代码吧~

     /* *   *根据图片像素位置添加用户电子签名   * @param imagePath要操作的图片路径   * @param signImagePath电子签名图片路径   * @param outImagePath合成后输出图片路径   * @param宽度像素位宽度   * @param高度像素位高度   */公共静态孔隙syntheticPicture (signImagePath imagePath的字符串,字符串,整数宽度、整数高度,字符串outImagePath) {   尝试{   BufferedImage大=ImageIO。读(新文件(imagePath));   BufferedImage?ImageIO。读(新文件(signImagePath));   Graphics2D g=big.createGraphics ();//根据图片像素位置粘贴带电子签名   g。drawImage(小,宽度,高度,small.getWidth (), small.getHeight (), null);   g.dispose ();   ImageIO。写(大,outImagePath .split(“\ \”。)[1],新文件(outImagePath));   }捕捉(异常e) {   把新的RuntimeException (e);   }   }      

以上这篇Java pdf和jpg互转案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

Java pdf和jpg互转案例