2012-10-17 5 views
3

pdf 파일이 있습니다. 두 번째 페이지를 이미지로 가져 와서 jpeg 파일로 저장하고 싶습니다. 가능하고 어떻게 할 수 있습니까? pdf에서 페이지 가져 오기 itext를 사용하여 이미지 파일에 저장

내가 페이지를 가져 오는 방법 코드 :
Document document = new Document(); 
File file = File.createTempFile("", ""); 
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file)); 
document.open(); 

final int backPage = 2; 
PdfReader reader = new PdfReader(pdf.getAbsolutePath()); 
PdfImportedPage importedPage = writer.getImportedPage(reader, backPage); 
com.lowagie.text.Image image = com.lowagie.text.Image.getInstance(importedPage); 

지금 내가 image 인스턴스를 가져,하지만 나는 jpeg 파일에 기록하는 방법을 모르겠어요.

+1

가능한 [Java에서 일련의 이미지로 PDF 페이지 내보내기] (http://stackoverflow.com/questions/550129/export-pdf-pages-to-a-series-of-images-in-java)) –

답변

2

분명히 (1T3XT BVBA에 따라), PDF 페이지에서 iText 이미지 만 저장할 수 있고 래스터 이미지는 저장할 수 없습니다. 다른 PDF 페이지에 넣어 나중에 사용할 경우 당신은 그렇지 않으면, 당신은 JPedal 같은 도구를 사용해야합니다 ... 사방에 저장할 수 있습니다 :

http://www.idrsolutions.com/convert-pdf-to-images/

를 ====== =============================

편집 : 어쩌면 PDFBox는! :

http://pdfbox.apache.org/commandlineutilities/PDFToImage.html 너무 당신을 위해 그것을 할 수 있습니다

http://gal-levinsky.blogspot.it/2011/11/convert-pdf-to-image-via-pdfbox.html

+0

고마워요,하지만 JPedal은 매우 비싸지 않습니다. – Freewind

+0

동의 함. 또 다른 방법은 파일 시스템에서 작업을 수행하고 생성 된 파일을 가져 오는 프리웨어 명령 줄 변환기 (예 : Unix) 중 하나를 응용 프로그램에서 실행하는 것입니다. 그러나 순수한 java가 아닙니다. , 그리고 많은 것들이 과정에서 잘못 될 수 ... –

+0

나중에 pdfbox를 시도 할 것입니다. 중국어 문자를 잘 지원하지 않기 때문에 올바른 이미지를 생성 할 수 있는지 확실하지 않습니다. – Freewind

4

Image.getInstance (importedPage)는 표시된 페이지를 비트 맵으로 렌더링하지 않지만 가져온 페이지를 다른 PDF에 쉽게 추가 할 수 있도록 래퍼 객체를 만듭니다.

iText는 PDF 렌더링 도구가 아니며 특히 이전 com.lowagie 변형이 아닙니다. 다른 제품을 볼 수도 있습니다 (예 : JPedal.

+0

링크 깨진! 현재 링크는 https://www.idrsolutions.com/jpedal/입니다. – gordon613

관련 문제