Java를 사용하여 PDF 파일을 압축하는 방법 | IronPDF

자바를 사용하여 PDF 파일을 압축하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF Java 개발자가 이미지 품질을 낮추고 해상도를 조정하여 PDF 파일을 압축할 수 있도록 지원하며, 이를 통해 파일 크기를 줄여 공유 및 저장을 더욱 쉽게 할 수 있습니다.

빠른 시작: Java에서 PDF 파일 압축

```java {title="Java에서 PDF 압축"} //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/quickstart-compress.java import com.ironsoftware. IronPDF.*; java.nio.file.Paths;를 가져옵니다.

// PDF 문서를 불러오세요 PdfDocument pdf = PdfDocument.fromFile(Paths.get("source.pdf"));

// 이미지 품질을 60%로 압축합니다 pdf.compressImages(60);

// 압축된 PDF를 저장합니다 pdf.saveAs(Paths.get("compressed.pdf"));


<div class="hsg-featured-snippet">
<h3>최소 워크플로우(5단계)</h3>

1. Maven `pom.xml`에 IronPDF를 종속성으로 추가하십시오
2. `PdfDocument.fromFile()`를 사용하여 PDF를 로드합니다
3. `pdf.compressImages(60)`로 이미지를 압축합니다
4. `pdf.compressImages(90, true)`로 이미지 해상도를 선택적으로 조정하십시오
5. `pdf.saveAs()`로 압축된 PDF를 저장하십시오
</div>

PDF 문서는 정보를 공유하고 저장하는 데 널리 사용되지만, 이미지가 많은 파일은 매우 빠르게 수십 메가바이트에 도달할 수 있습니다. 큰 파일 크기는 이메일 전송을 복잡하게 하고, 업로드를 느리게 하며, 저장 비용을 증가시킵니다. IronPDF의 Java 압축 API는 몇 줄의 코드만으로 내장된 이미지 품질을 줄이고 해상도를 조정할 수 있도록 합니다.

이 기사는 IronPDF를 사용하여 Java에서 PDF 파일을 압축하는 방법을 다루고 있습니다. 예제는 간단한 품질 기반 압축과 해상도 조정을 모두 보여주고 있어, 특정 크기 및 품질 요구사항에 맞는 접근 방식을 선택할 수 있습니다. 이미지가 많은 [PDF와 작업 중이거나](https://ironpdf.com/java/how-to/java-pdf-to-image-tutorial/) [병합된 문서](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/)를 처리해야 하는 경우, 배포 전에 압축은 필수 단계입니다.

## IronPDF Java PDF 라이브러리는 무엇인가요?

IronPDF는 PDF 문서를 프로그래밍 방식으로 생성, 읽기 및 조작할 수 있는 [Java PDF 라이브러리](/java/)입니다. 이 라이브러리는 [HTML을 PDF로 변환](https://ironpdf.com/java/tutorials/html-to-pdf/)하고, 양식 채우기, 이미지 삽입, 파일 압축을 PDF 뷰어나 외부 렌더링 엔진 없이 처리합니다. [AWS Lambda](https://ironpdf.com/java/get-started/aws/), [Azure Functions](https://ironpdf.com/java/get-started/azure/), [Google Cloud](https://ironpdf.com/java/get-started/google-cloud/) 등 다양한 배포 환경을 지원합니다.

IronPDF의 압축 기능은 내장 이미지의 JPEG 품질을 낮추고, 옵션으로 해상도를 PDF의 표시 크기에 맞게 줄여 작동합니다. 텍스트, 벡터 그래픽스, 문서 구조는 영향을 받지 않습니다. 이는 큰 문서를 이메일로 빠르게 전송하거나 클라우드 기반 시스템에 저장해야 하는 경우, IronPDF를 실용적인 선택으로 만듭니다.

이 라이브러리는 다른 문서 작업과도 잘 작동합니다. 이미 [워터마크](https://ironpdf.com/java/how-to/custom-watermark/), [배경 레이어](https://ironpdf.com/java/how-to/background-foreground/), [북마크](https://ironpdf.com/java/how-to/bookmarks/)가 포함된 PDF를 압축할 수 있으며, 압축 후에도 이러한 기능들은 모두 유지됩니다.

참고해 주세요압축은 내장 JPEG 또는 PNG 이미지를 포함한 PDF에서 가장 효과적입니다. 대부분 텍스트와 벡터 그래픽스로 구성된 문서는 크기 감소가 거의 없습니다.
## Java Maven 프로젝트에서 IronPDF를 설정하는 방법은? PDF를 압축하기 전에 프로젝트의 Maven 설정에 IronPDF를 추가하세요. 전체 설정 지침은 [Get Started Overview](https://ironpdf.com/java/docs/)를 참조하세요. - [Maven 프로젝트](/java/docs/)에 IronPDF를 설치하려면, `IronPDF` Maven 레포지토리와 종속성을 `pom.xml` 파일에 추가하십시오. - 종속성을 `<dependencies>` 섹션에 추가하십시오: ```xml //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/maven-dependency.xml <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>your_version_here</version> </dependency>
  • pom.xml를 저장하고, mvn install를 실행하여 IronPDF 종속성을 다운로드하십시오.

종속성이 해결되면, 프로젝트에서 IronPDF 클래스를 가져와 사용할 수 있습니다. 가장 최근에 게시된 IronPDF Java 아티팩트 버전은 Maven Central에서 사용할 수 있습니다. 프로덕션 배포를 위해 실행 전에 라이선스 키를 구성하세요.

Java에서 PDF 파일을 압축하는 방법은?

IronPDF는 문서 내부에 포함된 이미지에 초점을 맞춰 PDF 파일을 압축합니다. compressImages() 메서드는 0에서 100까지의 품질 정수를 수락하며, 낮은 값일수록 이미지 선명도를 희생하고 파일 크기가 작아집니다. 두 번째 옵션 매개변수는 라이브러리에 PDF 페이지의 표시 크기를 기준으로 이미지 해상도를 축소하도록 지시합니다.

//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware. IronPDF.*;
import java.io.IOException;
java.nio.file.Paths;를 가져옵니다.

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware. IronPDF.*;
import java.io.IOException;
java.nio.file.Paths;를 가져옵니다.

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
JAVA

코드는 디스크에서 PDF를 로드하고 두 번의 패스로 압축을 적용하여 서로 다른 전략을 설명합니다. 첫 번째 compressImages(60) 호출은 이미지 품질을 60%로 줄이고 결과를 저장합니다. 두 번째 호출에서는 품질을 90%로 유지하면서 해상도 축소를 활성화하여 각 이미지의 픽셀 크기를 페이지의 가시 영역에 맞춥니다.

compressImages() 메서드에는 두 가지 시그니처가 있습니다:

  • compressImages(int quality) — JPEG 품질 수준으로 모든 임베디드 이미지를 재샘플링합니다. 적절히 인식 가능한 이미지를 유지하면서 큰 크기 감소를 위해 40에서 80 사이의 값을 사용합니다.
  • compressImages(int quality, boolean scaleImageResolutionToVisibleSize) — 해상도 변환이 추가됩니다. true 시, 라이브러리는 원래 해상도의 일부로 렌더링되는 이미지를 감지하고 이에 따라 스케일을 조정합니다. 이 옵션은 가장 공격적인 크기 감소를 제공하지만 처리 시간이 약간 증가합니다.

여러 번의 패스를 적용하여 크기와 품질 균형을 조정합니다. 70% 같은 중간 설정으로 시작하고, 출력 파일 크기를 확인한 다음, 낮은 품질로 두 번째 패스가 필요한지 결정합니다.

이미지가 많은 PDF에 대해 60% 압축 패스를 실행하면 소스 이미지에 따라 파일 크기가 일반적으로 50-70% 감소합니다. 주로 텍스트 콘텐츠로 구성된 문서는 훨씬 작은 이득을 보게 됩니다. 출력 디렉토리에서 이전과 이후 파일 크기를 비교하여 특정 문서에 대한 결과를 평가하세요.

압축과 함께 다른 처리가 필요한 문서의 경우, IronPDF텍스트 추출, 이미지 추출, 및 PDF 분할을 지원합니다.

원본 PDF 파일은 어떤 모습인가요?

IronPDF를 사용하여 압축하기 전의 458 KB 원본 PDF 파일을 보여주는 파일 탐색기

압축 후 결과는 무엇인가요?

60% 품질로 IronPDF compressImages 후 파일 크기가 눈에 띄게 줄어든 압축된 PDF 출력 파일을 보여주는 파일 탐색기

Icon Quote related to 압축 후 결과는 무엇인가요?

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic related to 압축 후 결과는 무엇인가요?

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기
Icon Quote related to 압축 후 결과는 무엇인가요?

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

Brent Matzelle related to 압축 후 결과는 무엇인가요?

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기
Icon Quote related to 압축 후 결과는 무엇인가요?

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

David Jones related to 압축 후 결과는 무엇인가요?

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

적절한 압축 품질 설정은 어떻게 선택하나요?

올바른 품질 수준을 선택하려면 파일 크기와 시각적 충실도를 균형 있게 조절해야 합니다. 올바른 설정은 문서의 목적과 내장 이미지의 민감도에 따라 다릅니다.

아래 표는 일반적인 사용 사례에 대한 실용적인 지침을 제공합니다:

IronPDF 이미지 압축 품질 수준 가이드
품질 수준 대략적인 크기 감소 최적의 용도
80-100% 10-30% 인쇄 품질 문서, 의료 기록, 법률 문서
60-79% 40-60% 내부 보고서, 웹 다운로드용 PDF, 이메일 첨부파일
40-59% 60-75% 썸네일 미리보기, 초안 문서, 아카이브 사본
40% 미만 75% 이상 심각한 저하된 출력; 배포에 일반적으로 권장되지 않음

해상도 축소는 원본 PDF가 고해상도 사진이나 스캔된 페이지로 구성되었지만 문서가 화면 뷰잉에만 사용하려고 할 때 가장 잘 작동합니다. 이 경우, 해상도 축소는 일반적인 줌 수준에서 눈에 띄는 품질 변화를 주지 않고 파일 크기를 줄일 수 있습니다. PDF 이미지 인코딩 표준에 대한 추가 정보는 JPEG 2000 포맷의 국립 도서관 문서Stack Overflow의 PDF 이미지 압축 논의를 참조하세요.

중요한디지털 서명이 포함된 PDF는 압축하지 마세요. 내장 이미지를 수정하면 문서의 바이너리 콘텐츠가 변경되어 기존 서명이 무효화됩니다.

이미지 압축 외에 PDF 파일 크기를 더 줄이는 방법은?

이미지 압축은 대부분의 PDF에서 파일 크기의 가장 큰 원인을 처리하지만 추가 기술을 결합하면 크기를 더 줄일 수 있습니다. IronPDFcompressImages()를 보완하는 다양한 접근 방식을 지원합니다:

필요 없는 페이지를 제거하세요. 압축 전 페이지를 삭제하면 이미지 데이터와 페이지 구조 오버헤드를 모두 줄일 수 있습니다. 페이지 삭제 예제를 사용하여 빈 페이지나 중복 페이지를 먼저 제거하세요.

주석을 제거하세요. 주석 개체는 파일에 바이너리 데이터를 추가합니다. 저장하기 전에 주석 관리 API를 사용하여 주석을 제거하면 많은 주석이 있는 문서에서 파일 크기를 눈에 띄게 줄일 수 있습니다.

대량으로 문서 처리. 많은 PDF를 압축하는 워크플로우의 경우, 파일 경로 목록을 반복하며 compressImages()를 루프 내에서 적용합니다. IronPDF는 각 문서를 독립적으로 처리하므로 배치 처리에는 특별 구성이 필요하지 않습니다 — 출발점으로 pdf-compression 예제를 참조하십시오.

PDF 최적화 전략에 대한 폭넓은 논의는 국립 도서관의 PDF 파일 형식 사양에 파일 크기에 기여하는 구조적 요소와 이를 감소시키는 방법을 문서화하고 있습니다.

Java에서 PDF 압축의 다음 단계는 무엇입니까?

IronPDFcompressImages() 메서드는 Java 애플리케이션에서 PDF 파일 크기를 줄이는 실용적인 방법을 제공합니다. 품질 정수를 사용한 단일 메서드 호출은 대부분의 사용 사례를 포괄하며, 추가적인 해상도 축소 매개변수는 가장 공격적인 감소가 필요한 이미지가 많은 소스 파일을 처리합니다.

자신의 문서에서 압축을 테스트하려면 무료 체험을 시작하세요:

IronPDF이(가) 가능한 다른 것들을 보고 싶습니까? Java PDF 튜토리얼 라이브러리의 모든 내용을 확인하세요.

자주 묻는 질문

PDF 압축이란 무엇이며 왜 중요한가요?

PDF 압축은 포함된 이미지를 다시 샘플링하고 표시 해상도를 선택적으로 조정함으로써 파일 크기를 줄입니다. 더 작은 파일은 이메일로 보내고, 업로드하고, 저장하기가 더 쉽습니다 - IronPDF의 compressImages() 메서드는 Java 애플리케이션에서 단일 메서드 호출로 이를 처리합니다.

Java에서 PDF 파일을 빠르게 압축하는 방법은 무엇인가요?

PDF를 PdfDocument.fromFile()로 로드하고 compressImages(60)을 호출하여 이미지를 60%로 압축한 후 saveAs()로 결과를 저장합니다. 이 세 줄은 핵심 압축 워크플로우를 처리합니다.

PDF 파일에 어떤 압축 품질을 사용해야 할까요?

60-70%의 값은 대부분의 문서에 대해 파일 크기와 시각적 품질 간의 좋은 균형을 제공합니다. 인쇄 품질이나 법적 기록에는 80-100%를 사용하고, 이미지 충실도가 중요하지 않은 초안이나 썸네일 미리보기를 위한 경우에만 40-59%를 사용하세요.

여러 개의 문서가 병합된 PDF 파일을 압축할 수 있나요?

네, IronPDF는 PDF가 어떻게 작성되었든지 간에 모든 PDF를 압축합니다. compressImages() 메소드는 문서에 포함된 모든 이미지를 대상으로 하며, 단일 소스에서 가져오든 여러 파일을 병합하든 상관없이 작동합니다.

압축이 워터마크나 양식과 같은 다른 PDF 기능에 영향을 미치나요?

아니요 — IronPDF의 압축은 포함된 래스터 이미지에만 목표를 두고 있습니다. 텍스트, 벡터 그래픽, 워터마크, 배경, 북마크, 양식 필드는 출력 문서에 보존됩니다.

IronPDF를 사용한 PDF 압축을 지원하는 배포 환경은 무엇입니까?

IronPDF는 AWS Lambda, Azure Functions, Google Cloud, 표준 서버 배포에서 PDF 압축을 지원합니다. 이러한 환경에서는 외부 렌더링 엔진이나 PDF 뷰어가 필요하지 않습니다.

scaleImageResolutionToVisibleSize 매개변수는 무엇을 하나요?

true로 설정되면 IronPDF는 고유 해상도의 일부분으로 렌더링된 이미지를 감지하고 픽셀 차원을 보이는 디스플레이 크기에 맞게 축소합니다. 이는 단순한 품질 저하만으로는 줄지 않을 파일 크기를 줄여주지만, 처리 시간이 약간 증가합니다.

PDF를 압축하면 디지털 서명이 무효화됩니까?

네. 포함된 이미지를 수정하면 문서의 바이너리 내용이 변경되어 기존 디지털 서명이 파기됩니다. PDF 파일을 압축한 후에 서명을 적용하지 마십시오.

Darrius Serrant
풀스택 소프트웨어 엔지니어 (웹 운영)

다리우스 세런트는 마이애미 대학교에서 컴퓨터 과학 학사 학위를 받았으며, Iron Software에서 풀 스택 웹 운영 마케팅 엔지니어로 근무하고 있습니다. 어린 시절부터 코딩에 매료되었던 그는 컴퓨팅이 신비로우면서도 접근하기 쉬운 분야라고 생각했고, 창의력과 문제 해결 능력을 발휘하기에 완벽한 매체라고 여겼습니다.

Iron Software에서 다리우스는 새로운 것을 만들고 복잡한 개념을 단순화하여 더 쉽게 이해할 수 있도록 하는 것을 즐깁니다. 그는 사내 개발자로서 학생들을 가르치는 데에도 자원하여 차세대 인재들과 전문 지식을 공유하고 있습니다.

다리우스에게 있어 그의 일은 가치 있고 실질적인 영향을 미치기 때문에 보람 있는 일입니다.

시작할 준비 되셨나요?
버전: 2026.6 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요?
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.