여러 조직에서 안전하고 체계적인 정보 교환을 위해 PDF 파일을 사용합니다. 그러나 때때로 PDF 파일은 이미지, 비디오, 그림 등과 같은 포함된 콘텐츠로 인해 크기가 거대해집니다. 이러한 PDF 파일 크기는 품질 저하 없이 쉽게 최적화하거나 압축할 수 있습니다. Java 애플리케이션에 통합할 수 있는 PDF 크기 압축 및 최적화의 다음 시나리오를 살펴보겠습니다.

PDF 크기 최적화 및 압축 API – 설치

Aspose.PDF for Java API의 효율적이고 안정적인 루틴을 활용하여 동일한 품질을 유지하면서 대용량 PDF 파일을 최적화하거나 압축할 수 있습니다. 다운로드 또는 프로젝트의 Maven 구성에서 JAR 파일을 다운로드할 수 있습니다.

Java를 사용하여 웹용 PDF 문서 최적화

PDF 문서는 웹 페이지에서 사용할 필요가 있을 때 최적화할 수 있습니다. 이 최적화는 PDF 문서의 첫 페이지를 최대한 빨리 표시하는 데 도움이 됩니다. 다음 단계에 따라 최적화된 PDF 파일을 가질 수 있습니다.

  1. 오픈 소스 PDF 파일
  2. PDF 최적화를 위해 최적화 방법 호출
  3. 출력 PDF 파일 저장

아래 코드 조각은 Java 환경에서 웹용으로 PDF 문서를 최적화하는 방법의 예입니다.

// 문서 열기
Document pdfDocument = new Document("Original.pdf");

// 웹에 최적화
pdfDocument.optimize();

// 출력 문서 저장
pdfDocument.save("Optimized_output.pdf");

Java를 사용하여 이미지가 포함된 PDF 크기 압축 또는 최적화

여기서는 PDF 파일에 많은 이미지가 포함되어 크기가 큰 시나리오에 대해 주로 논의할 것입니다. 예를 들어, 모든 구성 요소의 이미지 또는 그림으로 포함된 다양한 비행기 모델에 대한 도면과 사소한 또는 주요 부품에 대한 정보가 포함된 PDF 파일입니다. 또한 많은 전문 문서에는 파일의 주요 아티팩트로 이미지가 포함될 수 있습니다. 이러한 시나리오에서 다음 접근 방식으로 PDF 파일을 압축할 수 있습니다.

Java를 사용하여 모든 이미지 축소, 압축 및 크기 조정

이미지를 축소, 압축 및 크기 조정하여 많은 이미지가 포함된 PDF 파일의 크기를 최소화할 수 있습니다. 대부분의 파일 크기가 이제 축소하려는 그림으로 덮여 있기 때문에 크기 개선이 눈에 띌 수 있습니다. PDF 파일의 그림이나 이미지를 축소, 압축 및 크기 조정하려면 아래 단계를 따라야 합니다.

  1. 입력 PDF 파일 로드
  2. OptimizationOptions 개체 초기화
  3. 이미지 품질 및 해상도 설정
  4. optimizeResources 메서드 호출
  5. 출력 PDF 문서 저장

아래 코드 조각은 Java를 사용하여 PDF 파일 크기를 줄이고 최소화하기 위해 이미지를 축소하거나 압축하는 방법을 보여줍니다.

// 입력 문서 로드
Document doc = new Document(dataDir + "Test.pdf");

// OptimizationOptions 개체 초기화
OptimizationOptions opt = new OptimizationOptions();

// 이미지 압축 활성화
// PDF 파일의 이미지 품질 및 해상도 설정
opt.getImageCompressionOptions().setCompressImages(true);
opt.getImageCompressionOptions().setImageQuality(10);
opt.getImageCompressionOptions().setMaxResolution(150);
opt.getImageCompressionOptions().setResizeImages(true);
doc.optimizeResources(opt);

// 업데이트된 파일 저장
doc.save(dataDir + "compressingPDFWithImages_out.pdf");

Java를 사용하여 포함된 글꼴, 사용하지 않는 스트림 및 중복 스트림 연결 제거

PDF 파일 크기를 줄여야 할 때 모든 바이트가 중요합니다. 포함된 글꼴은 다양한 접근 방식으로 파일 크기를 줄이는 데 도움이 될 수 있습니다. 예를 들어, 모든 글꼴을 포함 해제하거나 PDF 파일에서 사용 중인 글꼴 문자의 하위 집합만 유지할 수 있습니다. 여전히 파일 크기를 최소화하는 데 도움이 되는 부분적인 글꼴 제외가 될 것입니다. 또한 사용하지 않는 스트림을 제거하거나 중복 스트림을 연결하여 추가 공간을 절약할 수 있습니다. 이러한 PDF 최적화는 파일 크기를 상당히 줄여줍니다. PDF 파일 크기를 최적화하고 줄이려면 다음 단계를 따라야 합니다.

  1. 입력 PDF 문서 로드
  2. OptimizationOptions 클래스 객체 초기화
  3. 모든 글꼴 또는 글꼴의 하위 집합을 포함 해제
  4. 중복 스트림 연결
  5. 사용하지 않는 스트림 제거

다음 코드는 PDF 문서의 크기를 최적화, 축소 및 최소화하기 위해 PDF 파일을 압축하는 방법을 자세히 설명합니다.

Document doc = new Document(dataDir + "Test.pdf");
OptimizationOptions opt = new OptimizationOptions();

// 어느 하나
// PDF의 모든 글꼴 포함 해제
opt.setUnembedFonts(true);

//또는
// 사용된 문자에 대해 포함된 글꼴만 유지
opt.setSubsetFonts(true);

// 중복 스트림 연결
opt.setLinkDuplcateStreams(false);

// 사용하지 않는 스트림 제거
opt.setRemoveUnusedStreams(false);

// 사용하지 않는 개체 제거
opt.setRemoveUnusedObjects(false);

doc.optimizeResources(opt);

// 업데이트된 파일 저장
doc.save(dataDir + "compressingPDF.pdf");

지금까지 우리는 주로 이미지가 있는 PDF 파일에 대한 최적화 접근 방식에 대해 논의했습니다. 이제 PDF 최적화를 위한 몇 가지 더 많은 방법을 진행해 보겠습니다.

Java를 사용하여 PDF 문서 크기 압축 또는 축소

PDF 파일에는 일반적으로 공간을 차지하는 주석, 편집 가능한 양식 필드 및 색상 아티팩트가 포함되어 있습니다. PDF 파일 크기를 압축하는 다음 절차를 살펴보겠습니다.

Java로 크기를 줄이기 위해 주석 제거 또는 병합

PDF 파일에는 많은 주석이 포함될 수 있습니다. 예를 들어 워터마크, 주석, 모양 등. 더 이상 필요하지 않은 경우 주석을 제거하거나 추가 변경이 필요하지 않은 경우 주석을 굵게 할 수 있습니다. PDF 파일 크기를 최적화하기 위해 주석을 제거하거나 병합하려면 아래 단계를 따르십시오.

  1. 오픈 소스 PDF 문서
  2. 각 페이지를 반복
  3. 병합 또는 삭제 주석
  4. 출력 PDF 문서 저장

아래 코드 조각은 Java를 사용하여 PDF 문서에서 주석을 제거하거나 병합하는 방법의 예입니다.

// 문서 열기
Document pdfDocument = new Document(dataDir + "OptimizeDocument.pdf");

// 각 페이지 및 주석을 통해 반복
for (Page page : pdfDocument.getPages())
{
    for (Annotation annotation : page.getAnnotations())
    {
        // 주석을 병합하거나
        annotation.flatten();
        
        // 또는 주석 삭제
        // page.getAnnotations().delete(주석);        
    }
}
// 최적화된 PDF 문서 저장
pdfDocument.save(dataDir + "OptimizeDocument_out.pdf");

Java로 PDF 파일 크기를 최소화하기 위해 양식 필드 제거

채울 수 있는 PDF 양식은 대규모 데이터 제출이 필요한 경우 일반적입니다. 데이터를 제출한 후 채울 수 있는 양식 필드를 제거하여 PDF 파일 크기를 최적화하고 최소화할 수 있습니다. 양식 필드를 제거하려면 다음 단계를 따라야 합니다.

  1. 입력 PDF 문서 로드
  2. PDF 문서에서 양식 필드 확인
  3. 각 필드를 반복하고 평면화합니다.
  4. 업데이트된 압축 PDF 파일 저장
// 소스 PDF 양식 로드
Document doc = new Document(dataDir + "input.pdf");

// 양식 필드 병합
if (doc.getForm().getFields().length > 0)
{
    for (Field item : doc.getForm().getFields())
    {
        item.flatten();
    }
}

dataDir = dataDir + "FlattenForms_out.pdf";
// 업데이트된 문서 저장
doc.save(dataDir);

Java를 사용하여 PDF 압축 및 최적화를 위해 RGB 색 공간을 회색조로 변환

대부분의 PDF 파일에는 회색조 색상 공간에서도 잘 표현할 수 있는 텍스트 내용이 포함되어 있습니다. 또한 목적과 우선 순위가 각 바이트를 저장하는 것이라면 초점이 데이터 보관에 있기 때문에 이미지라도 그레이스케일로 변환할 수 있습니다. RGB 색상 공간을 그레이스케일로 변환하여 PDF 파일 크기를 압축하고 최적화하려면 아래 단계를 따를 수 있습니다.

  1. 소스 PDF 문서에 액세스
  2. RgbToDeviceGrayConversionStrategy 인스턴스 초기화
  3. 각 색상의 색 공간을 회색조로 변환
  4. 출력 최적화 PDF 파일 저장

다음 코드 스니펫은 Java 환경에서 색상 공간을 변경하여 PDF 크기를 압축하고 최적화하는 방법을 보여줍니다.

// 입력 PDF 문서 로드
Document document = new Document("input.pdf");

// RgbToDeviceGrayConversionStrategy 인스턴스 초기화
RgbToDeviceGrayConversionStrategy strategy = new RgbToDeviceGrayConversionStrategy();
for (int idxPage = 1; idxPage <= document.getPages().size(); idxPage++) {
	Page page = document.getPages().get_Item(idxPage);
        
        // 각 페이지의 색 공간을 회색조로 변환
	strategy.convert(page);
}
// 출력 PDF 문서 저장
document.save("output.pdf");

결론

이 기사에서는 PDF 파일을 최적화하고 크기를 줄이기 위한 다양한 방법과 접근 방식을 다루었습니다. 먼저 Java를 사용하여 웹용 PDF 파일 크기를 최적화했습니다. 그런 다음 여러 이미지가 포함된 PDF 파일의 이미지 축소, 압축 및 크기 조정을 배웠습니다. 또한 Java를 사용하여 크기는 작지만 동일한 품질의 PDF 파일을 생성할 수 있도록 글꼴, 스트림, 주석, 양식 필드 작업 및 PDF 문서의 색상 공간을 그레이스케일로 변환하는 방법도 살펴보았습니다. 또한 이 주제와 관련된 질문이 있는 경우 무료 지원 포럼을 통해 문의할 수 있습니다.

또한보십시오

정보: Aspose의 새로운 온라인 웹 앱을 사용하여 이미지 세트를 비디오로 변환할 수 있습니다. 비디오에서 소리를 추출하는 다른 서비스를 확인해 볼 수도 있습니다.