원하지 않는 이미지 워터마크는 PDF 문서를 비전문적으로 보이게 하고 후속 처리에 방해가 될 수 있습니다. GroupDocs.Watermark Cloud SDK for Java는 Java 개발자가 프로그래밍 방식으로 PDF 파일에서 해당 워터마크를 제거할 수 있는 강력한 API를 제공합니다. 이 가이드는 SDK의 제거 엔드포인트를 사용하여 Java에서 PDF의 이미지 워터마크를 제거하는 방법을 보여줍니다. 끝까지 읽으면 모든 Java 애플리케이션에 자동 워터마크 제거를 통합할 수 있게 됩니다.

Java 개발 환경 - 전제 조건 및 설정

시작하기 전에 다음 항목을 확인하십시오:

  • Java 17 이상이 설치되어 있어야 합니다.
  • 의존성 관리를 위한 Maven 또는 Gradle.
  • client IDclient secret이 포함된 GroupDocs Cloud 계정.

아래 Maven 종속성을 사용하여 SDK를 프로젝트에 추가하세요(Gradle 등가 항목도 사용할 수 있습니다). 최신 바이너리는 다운로드 페이지에서 확인할 수 있습니다.

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-watermark-cloud</artifactId>
    <version>23.8</version>
</dependency>

자격 증명을 사용하여 API 클라이언트를 초기화합니다. 이 스니펫은 샘플 코드에서 직접 가져온 것입니다.

ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

클라이언트를 준비했으면 실제 제거 워크플로우로 진행할 수 있습니다.

Java에서 PDF 이미지 워터마크 제거 단계별 가이드

1단계: 소스 문서 로드

먼저, 정리하려는 PDF를 지정합니다. FileInfo 객체는 파일이 위치한 곳을 API에 알려주며, 선택적으로 비밀번호를 제공할 수 있습니다.

FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.pdf");
// inputFile.setPassword("pdfPassword"); // Uncomment if needed

2단계: 이미지 워터마크 기준 정의

ImageSearchCriteria를 생성하여 삭제하려는 워터마크 이미지를 가리키게 합니다. 이것은 Java에서 PDF 이미지 워터마크 제거 작업의 핵심입니다.

ImageSearchCriteria imageCriteria = new ImageSearchCriteria();
imageCriteria.setImagePath("watermark.png");

3단계: 제거 옵션 설정

파일 정보와 검색 기준을 RemoveOptions 객체에 결합합니다. 또한 정리된 PDF가 저장될 위치를 정의합니다.

RemoveOptions removeOptions = new RemoveOptions();
removeOptions.setFileInfo(inputFile);
removeOptions.setOutputPath("output.pdf");
removeOptions.setSearchCriteria(Collections.singletonList(imageCriteria));

4단계: 제거 호출 실행

WatermarkApiremove 메서드를 호출합니다. 호출은 처리된 파일 경로를 포함하는 RemoveResult를 반환합니다.

RemoveResult result = watermarkApi.remove(removeOptions);
System.out.println("Watermark removal completed. Output file: " + result.getPath());

5단계: 결과 처리

발생할 수 있는 모든 예외를 처리하십시오. SDK는 서비스 측 오류에 대해 ApiException을, 예상치 못한 문제에 대해 일반 Exception을 발생시킵니다.

try {
    // removal code above
} catch (ApiException e) {
    System.err.println("API exception occurred: " + e.getMessage());
} catch (Exception e) {
    System.err.println("Unexpected error: " + e.getMessage());
}

전체 코드 예제: GroupDocs를 사용한 이미지 워터마크 제거

다음 예제는 클라이언트 초기화부터 결과 처리까지 전체 워크플로를 보여줍니다.

import com.groupdocs.watermark.cloud.api.WatermarkApi;
import com.groupdocs.watermark.cloud.client.ApiClient;
import com.groupdocs.watermark.cloud.client.ApiException;
import com.groupdocs.watermark.cloud.model.FileInfo;
import com.groupdocs.watermark.cloud.model.ImageSearchCriteria;
import com.groupdocs.watermark.cloud.model.RemoveOptions;
import com.groupdocs.watermark.cloud.model.RemoveResult;
import java.util.Collections;

public class RemoveImageWatermarkFromPdf {
    public static void main(String[] args) {
        // Initialize API client with your credentials
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        WatermarkApi watermarkApi = new WatermarkApi(apiClient);

// Prepare input file information
        FileInfo inputFile = new FileInfo();
        inputFile.setFilePath("input.pdf");
        // If the PDF is password protected, uncomment the following line and set the password
        // inputFile.setPassword("pdfPassword");

// Define the image watermark to be removed
        ImageSearchCriteria imageCriteria = new ImageSearchCriteria();
        imageCriteria.setImagePath("watermark.png");

// Set up removal options
        RemoveOptions removeOptions = new RemoveOptions();
        removeOptions.setFileInfo(inputFile);
        removeOptions.setOutputPath("output.pdf");
        removeOptions.setSearchCriteria(Collections.singletonList(imageCriteria));

try {
            // Execute removal
            RemoveResult result = watermarkApi.remove(removeOptions);
            System.out.println("Watermark removal completed. Output file: " + result.getPath());
        } catch (ApiException e) {
            System.err.println("API exception occurred: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("Unexpected error: " + e.getMessage());
        }
    }
}

참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인한 뒤 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서 또는 지원 팀에 문의하십시오.

cURL을 사용한 REST API를 통한 워터마크 제거 작업

순수 REST 방식을 선호한다면, 동일한 작업을 cURL 명령으로 수행할 수 있습니다.

  1. 인증하고 액세스 토큰을 얻으세요
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'
  1. 소스 PDF 업로드
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@/local/path/input.pdf"
  1. 워터마크 제거 실행
curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/remove" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": {"filePath":"input.pdf"},
           "outputPath":"output.pdf",
           "searchCriteria":[{"type":"Image","imagePath":"watermark.png"}]
         }'
  1. 정리된 PDF 다운로드
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

전체 참조는 API 문서를 참조하십시오.

파인 튜닝 제거 옵션

SDK는 다양한 시나리오에 맞게 조정할 수 있는 여러 속성을 제공합니다.

  • 비밀번호 보호 - 소스 PDF가 암호화된 경우, FileInfo에 비밀번호를 설정하십시오.
  inputFile.setPassword("mySecret");
  • 다중 검색 기준 - 한 번의 호출로 여러 워터마크를 제거하려면 목록에 더 많은 ImageSearchCriteria 객체를 추가하십시오.
  ImageSearchCriteria logoCriteria = new ImageSearchCriteria();
  logoCriteria.setImagePath("logo.png");
  removeOptions.setSearchCriteria(Arrays.asList(imageCriteria, logoCriteria));
  • 출력 형식 - 기본값은 PDF이지만, outputPath를 다른 확장자로 설정하여 출력 형식을 변경할 수 있습니다(예: output.docx).
  removeOptions.setOutputPath("output.docx");

이 옵션을 사용하면 Java에서 PDF의 이미지 워터마크 제거 프로세스를 정확히 원하는 대로 맞춤 설정할 수 있습니다.

결론

PDF 파일에서 이미지 워터마크를 프로그래밍 방식으로 제거하는 것은 GroupDocs.Watermark Cloud SDK for Java를 사용하면 간단합니다. 위 단계들을 따라 하면 워터마크 삭제를 모든 Java 백엔드에 통합하고, 암호화된 PDF를 처리하며, 유연한 옵션으로 작업을 미세 조정할 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 확보하는 것을 기억하세요; 가격 세부 정보는 제품 페이지에서 확인할 수 있으며, 임시 라이선스는 임시 라이선스 페이지를 통해 요청할 수 있습니다. 오늘 바로 PDF를 정리하고 사용자에게 깔끔한 문서를 제공하세요.

자주 묻는 질문

  • Java에서 PDF 이미지 워터마크를 제거하려면 어떻게 해야 하나요?
    WatermarkApiremove 메서드를 사용하고, 워터마크 이미지에 해당하는 ImageSearchCriteria를 지정합니다. 이 문서의 전체 코드 예제에서 정확한 단계가 표시됩니다.

  • PDF가 비밀번호로 보호되어 있으면 어떻게 해야 하나요?
    제거 API를 호출하기 전에 FileInfo 객체에 비밀번호를 설정하십시오 (inputFile.setPassword("yourPassword")). SDK가 파일을 자동으로 복호화하고, 처리한 뒤 다시 암호화합니다.

  • 다른 형식, 예를 들어 DOCX에서 워터마크를 제거할 수 있나요?
    예. 동일한 API는 GroupDocs.Watermark에서 지원하는 모든 형식에서 작동합니다. filePathoutputPath 확장자를 적절히 변경하면 됩니다.

  • PDF를 처리할 수 있는 크기 제한이 있나요?
    클라우드 서비스는 요청당 최대 500 MB 파일을 처리합니다. 더 큰 문서는 처리하기 전에 PDF를 작은 부분으로 나누는 것을 고려하세요.

Read More