Java를 통해 이미지를 동일한 크기의 PDF로 변환하는 방법
이미지를 PDF로 변환하면 공유, 인쇄 및 보관이 더 쉬워집니다. 또한 PDF는 범용성, 크로스 플랫폼 지원 및 편집 가능성을 갖추고 있기 때문에 많은 경우 이러한 변환으로 문서 전송 효율과 가독성을 높일 수 있습니다. 예를 들어, 이메일 첨부 파일, 웹사이트 업로드 및 온라인 제출 등의 경우 PDF 형식을 사용하여 이미지의 완전성과 가독성을 보장하고 동시에 파일 크기를 줄일 수 있습니다. 다음은 자세한 변환 방법입니다.
프로그램 환경
IntelliJ IDEA 2018 (jdk 1.8.0)
먼저Free Spire.PDF for Java를 설치하십시오.
다음 링크에서Free Spire.PDF for Java를 다운로드하고 압축을 푸세요.
IDEA에서 새 프로젝트를 만들고 열어주세요.
" File "-" Project Structure "-" Modules "-" Dependencies "을 차례로 클릭합니다.
" JAR or Directories " 아래에 있는 초록색 플러스 기호를 선택합니다.
압축 해제된 lib 폴더에서 "Spire.PDF.jar"를 찾아 해당 파일을 프로젝트에 추가하세요.
샘플 코드:
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileInputStream;
import java.io.IOException;
public class ConvertImageToPdfWithSameSize {
public static void main(String[] args) throws IOException {
//PdfDocument 객체 생성
PdfDocument doc = new PdfDocument();
//여백을 0으로 설정
doc.getPageSettings().setMargins(0);
//이미지 로드
BufferedImage image = ImageIO.read(new FileInputStream("image.jpg"));
//이미지의 폭과 높이 가져 오기
int width = image.getWidth();
int height = image.getHeight();
//이미지와 동일한 크기의 페이지 추가
PdfPageBase page = doc.getPages().add(new Dimension(width, height));
//이미지를 기반으로 PdfImage 객체 생성
PdfImage pdfImage = PdfImage.fromImage(image);
//페이지의 (0,0) 위치에 이미지 그리기
page.getCanvas().drawImage(pdfImage, 0, 0, pdfImage.getWidth(), pdfImage.getHeight());
//파일에 저장하기
doc.saveToFile("output/ConvertPdf.pdf");
}
}
코드에 대한 설명
PdfDocument 객체 doc를 생성하여 생성할 PDF 문서를 저장합니다.
getPageSettings().setMargins() 메소드를 사용하여 페이지 여백을 0으로 설정하여 생성된 PDF 파일의 크기가 원본 이미지와 동일하게 유지되도록 합니다.
ImageIO.read() 메소드를 호출하여 지정된 이미지 파일(image.jpg)을 로컬 하드 디스크에서 읽어와 getWidth() 및 getHeight() 메소드를 통해 각각 이미지의 너비와 높이를 가져옵니다.
doc.getPages().add(new Dimension(width, height))를 호출하여 이미지 크기와 동일한 페이지를 추가하고 반환되는 PdfPageBase 객체인 page를 변수 page에 할당합니다.
PdfImage 객체 pdfImage를 생성하기 위해 image 객체를 매개변수로 하는 PdfImage.fromImage() 메소드를 호출합니다.
page.getCanvas().drawImage() 메소드를 호출하여 pdfImage를 페이지의 좌상단(0,0)에 그립니다.
doc.saveToFile() 메소드를 호출하여 생성된 PDF 파일을 output/ConvertPdf.pdf로 지정된 로컬 디렉토리에 저장합니다.
Free Spire.PDF for Java는 "PDF를 Word로 변환하기", "PDF를 Excel로 변환하기"와 같은 다른 기능도 지원합니다.
