SW/Java

Java : PDF를 래스터 이미지로 변환하기: 무료 API 솔루션을 활용한 자세한 가이드

얇은생각 2024. 2. 7. 07:30
반응형

PDF 문서를 래스터 형식으로 변환하는 것은 파일 업로드/다운로드 애플리케이션의 유틸리티를 확장하는 훌륭한 방법입니다. 이 변환 과정을 통해 사용자는 계약서, 청구서, 기밀 보고서 등과 같은 중요한 문서의 더 작고 안전한 버전을 손쉽게 공유하거나 다운로드할 수 있게 됩니다. 본 블로그에서는 Java 환경에서 벡터 PDF를 래스터 PDF로 변환하는 과정과 이점, 그리고 이를 가능하게 하는 무료 API 솔루션에 대해 소개하고자 합니다.

 

 

Java : PDF를 래스터 이미지로 변환하기: 무료 API 솔루션을 활용한 자세한 가이드

 

 

PDF 래스터화란

PDF 래스터화는 벡터 데이터(컴퓨터 기반 디자인 프로그램으로 생성된 선, 곡선 등)와 텍스트 데이터를 픽셀 기반 이미지로 변환하는 과정입니다. 이 과정은 PDF PNG JPG와 같은 이미지로 변환하는 것과는 다르게, 새로운 PDF 파일 안에 비트맵 이미지를 렌더링하는 것을 포함합니다.

 

 

PDF 래스터화의 장단점

래스터화는 특정한 사용 사례에 따라 장단점이 있습니다. 예를 들어, 래스터화된 내용은 확대할 때 품질 저하를 겪기 때문에, 세부적인 내용을 다루는 문서에는 적합하지 않습니다. 래스터 이미지는 확대할 때 품질이 떨어지고 픽셀화됩니다. 한편, 래스터화는 파일에서 텍스트, 링크, 이미지 등을 제거함으로써 문서의 보안을 크게 향상시킬 수 있습니다. 무단 수정이 불가능하기 때문에, 내용의 보안이 중요한 문서에 유용합니다. 또한, 문서의 호환성 범위를 넓히고 파일 크기를 줄여 저장 및 공유 비용을 감소시킬 수 있습니다.

 

데모

이 글의 뒷부분에서는 Java 애플리케이션에서 벡터 PDF를 래스터 PDF로 대량 변환할 수 있는 무료 API를 간략하게 소개하고자 합니다. API는 모든 문서 데이터를 메모리에서 처리하고 변환 완료 후 데이터를 해제하여 문서 보안을 보장합니다.

첫 단계는 Java SDK를 설치하는 것입니다. Maven을 사용하여 pom.xml에 저장소 참조를 추가한 다음, 의존성 참조를 추가합니다.

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

 

 

<dependencies>
<dependency>
    <groupId>com.github.Cloudmersive</groupId>
    <artifactId>Cloudmersive.APIClient.Java</artifactId>
    <version>v4.25</version>
</dependency>
</dependencies>

 

 

Java에서는 다음과 같이 파일 상단에 import를 추가하고, 함수를 직접 호출합니다. Apikey.setApiKey 라인에 API 키를 포함할 수 있습니다.

// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.EditPdfApi;

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");

EditPdfApi apiInstance = new EditPdfApi();
File inputFile = new File("/path/to/inputfile"); // File | Input file to perform the operation on.
try {
    byte[] result = apiInstance.editPdfRasterize(inputFile);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling EditPdfApi#editPdfRasterize");
    e.printStackTrace();
}

 

 

작업이 완료되면 새 파일의 인코딩을 받게 되며, 이를 새 PDF 문서로 작성할 수 있습니다.

 

 

결론

PDF 래스터화는 문서의 보안과 호환성을 높이는 효과적인 방법입니다. 본 블로그에서 소개한 무료 API 솔루션을 활용하면 Java에서 손쉽게 벡터 PDF를 래스터 PDF로 변환할 수 있습니다. 이 가이드가 PDF 문서를 처리하는 데 있어 유용한 자원이 되기를 바랍니다.

반응형