
Java에서 PDF의 고해상도 이미지 압축
일반적으로 PDF 파일에는 텍스트와 이미지가 모두 포함될 수 있으며 이러한 이미지로 인해 파일 크기가 커지는 경우가 많습니다. 따라서 대용량 PDF 파일의 업로드 및 전송에 영향을 미칠 수 있습니다. 이 기사에서는 PDF 파일의 고해상도 이미지를 프로그래밍 방식으로 압축하여 파일 크기를 줄이는 방법을 배웁니다. 저해상도 이미지는 더 이상 압축되지 않습니다.
Java에서 이 작업을 완료하려면 Java API용 Free Spire.PDF를 사용해야 합니다. 다음은 무료 API의 Jar 종속성을 Java 애플리케이션으로 가져오는 2가지 방법입니다.
방법 1: free API을 다운로드하고 압축을 풉니다. 그런 다음 Spire.Pdf.jar 파일을 프로젝트에 종속성으로 추가합니다.
방법 2: pom.xml에 다음 구성을 추가하여 jar 종속성을 maven 프로젝트에 직접 추가합니다.
Java용 Free Spire.PDF에서 제공하는 PdfPageBase.tryCompressImage(int imgIndex) 메서드를 사용하면 PDF 파일의 고해상도 이미지를 압축할 수 있습니다. 전체 샘플 코드는 아래의 광고입니다.
설치
Java에서 이 작업을 완료하려면 Java API용 Free Spire.PDF를 사용해야 합니다. 다음은 무료 API의 Jar 종속성을 Java 애플리케이션으로 가져오는 2가지 방법입니다.
방법 1: free API을 다운로드하고 압축을 풉니다. 그런 다음 Spire.Pdf.jar 파일을 프로젝트에 종속성으로 추가합니다.
방법 2: pom.xml에 다음 구성을 추가하여 jar 종속성을 maven 프로젝트에 직접 추가합니다.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
샘플 코드
Java용 Free Spire.PDF에서 제공하는 PdfPageBase.tryCompressImage(int imgIndex) 메서드를 사용하면 PDF 파일의 고해상도 이미지를 압축할 수 있습니다. 전체 샘플 코드는 아래의 광고입니다.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.exporting.PdfImageInfo;
public class CompressImage {
public static void main(String[] args) {
//Load the sample PDF document
PdfDocument doc = new PdfDocument("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//Set IncrementalUpdate to false
doc.getFileInfo().setIncrementalUpdate(false);
//Declare a PdfPageBase variable
PdfPageBase page;
//Loop through the pages
for (int i = 0; i < doc.getPages().getCount(); i++) {
//Get the specific page
page = doc.getPages().get(i);
if (page != null) {
if(page.getImagesInfo() != null){
//Loop through the images in the page
for (PdfImageInfo info: page.getImagesInfo()) {
//Use tryCompressImage method the compress high-resolution images
page.tryCompressImage(info.getIndex());
}
}
}
}
//Save to file
doc.saveToFile("Compressed.pdf");
}
}
