2014-07-24 2 views
2

com.itextpdf.text.Image 파일을 파일 시스템에 jpg 파일로 저장하는 방법이 있습니까?com.itextpdf.text.Image를 이미지 파일로 저장

Barcode39 code39 = new Barcode39(); 
code39.setCode(barcode); 
code39.setStartStopText(false); 
image39 = code39.createImageWithBarcode(cb, null, null); 
image39.scaleAbsolute(width, height); 
image39.setAbsolutePosition(top, left); 
cb.addImage(image39); 

나는 바코드 이미지를 만들고 pdf에 추가하고 있습니다. 동시에 이미지를 파일 시스템에 저장하고 싶습니다. 어떤 도움을 주셔서 감사합니다.

OR,

는 이미지 파일과 PDF에서 바코드 (바코드 모두뿐만 아니라 그 아래 번호)를 검색하고 그것이하여 itext를 사용하여 파일 시스템에 저장할 수 있습니까? 그것을 다음

java.awt.Image awtImage = code39.createAwtImage(Color.BLACK, Color.WHITE); 

BufferedImage로 변환 및 저장 :

+0

반드시 jpg가되어야합니까? – TheJavaCoder16

+0

아니요. 너무 png 수 있습니다. – Adarsh

+0

죄송합니다. 게시물을 작성한 직후에 itext 이미지 파일이 필요하다는 것을 깨달았습니다. 죄송합니다! – TheJavaCoder16

답변

4

그냥 createAwtImage를 사용하여 AWT 이미지로 Barcode39의 iText를 이미지로 변환

BufferedImage bImage= new BufferedImage(awtImage.getWidth(), awtImage.getHeight(), BufferedImage.TYPE_INT_RGB); 
Graphics2D g = bImage.createGraphics(); 
g.drawImage(awtImage, 0, 0, null); 
g.dispose(); 

File outputfile = new File("saved.png"); 
ImageIO.write(bImage, "jpg", new File("code39.jpg")); 
+0

감사합니다. 1 가지, ImageIO.write는 RenderedImage 객체를 취하므로 awtImage 객체가 아니라 BufferedImage 객체를 전달해야합니다. – Adarsh

+0

감사합니다. 수정 :) – sina72

0

당신이 코드

BarcodeQRCode qrcode = new BarcodeQRCode("testo testo testo", 1, 1, null); 
Image image = qrcode.createAwtImage(Color.BLACK, Color.WHITE); 

BufferedImage buffImg = new BufferedImage(image.getWidth(null), image.getWidth(null), BufferedImage.TYPE_4BYTE_ABGR); 
buffImg.getGraphics().drawImage(image, 0, 0, null); 
buffImg.getGraphics().dispose(); 

File file = new File("tmp.png"); 
ImageIO.write(buffImg, "png", file); 
을 사용할 수 있습니다

도움이 되었기를 바랍니다.

엔리코

관련 문제