PDFRenderer用于java操作pdf文件,转化为图片
java操作pdf文档,将pdf转化为图片 public void Pdf_Png(int pageNumber ) { int pagen= pageNumber; File file = new File("D:/test.pdf"); PDFFile pdffile=null; // set up the PDF reading try{ RandomAccessFile raf = new RandomAccessFile(file, "r"); FileChannel channel = raf.getChannel(); ByteBuffer buf = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()); pdffile = new PDFFile(buf); } catch(Exception e){} if(pagen<pdffile.getNumPages()) return; //print出该pdf文档的页数 System.out.println(pdffile.getNumPages()); //设置将第pagen也生成png图片 PDFPage page = pdffile.getPage(pagen); // create and configure a graphics object int width = (int)page.getBBox().getWidth(); int height =(int)page.getBBox().getHeight(); BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D g2 = img.createGraphics(); g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // do the actual drawing PDFRenderer renderer = new PDFRenderer(page, g2, new Rectangle(0, 0, width, height), null, Color.RED); try{ page.waitForFinish(); }catch(Exception e){ e.printStackTrace(); } renderer.run(); g2.dispose(); try{ ImageIO.write(img, "png", new File("D:/Image.png")); } catch(Exception ex){}