원하지 않는 이미지 워터마크는 PDF 문서를 비전문적으로 보이게 하고 후속 처리에 방해가 될 수 있습니다. GroupDocs.Watermark Cloud SDK for Java는 Java 개발자가 프로그래밍 방식으로 PDF 파일에서 해당 워터마크를 제거할 수 있는 강력한 API를 제공합니다. 이 가이드는 SDK의 제거 엔드포인트를 사용하여 Java에서 PDF의 이미지 워터마크를 제거하는 방법을 보여줍니다. 끝까지 읽으면 모든 Java 애플리케이션에 자동 워터마크 제거를 통합할 수 있게 됩니다.
Java 개발 환경 - 전제 조건 및 설정
시작하기 전에 다음 항목을 확인하십시오:
- Java 17 이상이 설치되어 있어야 합니다.
- 의존성 관리를 위한 Maven 또는 Gradle.
- client ID와 client 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단계: 제거 호출 실행
WatermarkApi의 remove 메서드를 호출합니다. 호출은 처리된 파일 경로를 포함하는 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 명령으로 수행할 수 있습니다.
- 인증하고 액세스 토큰을 얻으세요
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"}'
- 소스 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"
- 워터마크 제거 실행
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"}]
}'
- 정리된 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 이미지 워터마크를 제거하려면 어떻게 해야 하나요?
WatermarkApi의remove메서드를 사용하고, 워터마크 이미지에 해당하는ImageSearchCriteria를 지정합니다. 이 문서의 전체 코드 예제에서 정확한 단계가 표시됩니다.PDF가 비밀번호로 보호되어 있으면 어떻게 해야 하나요?
제거 API를 호출하기 전에FileInfo객체에 비밀번호를 설정하십시오 (inputFile.setPassword("yourPassword")). SDK가 파일을 자동으로 복호화하고, 처리한 뒤 다시 암호화합니다.다른 형식, 예를 들어 DOCX에서 워터마크를 제거할 수 있나요?
예. 동일한 API는 GroupDocs.Watermark에서 지원하는 모든 형식에서 작동합니다.filePath와outputPath확장자를 적절히 변경하면 됩니다.PDF를 처리할 수 있는 크기 제한이 있나요?
클라우드 서비스는 요청당 최대 500 MB 파일을 처리합니다. 더 큰 문서는 처리하기 전에 PDF를 작은 부분으로 나누는 것을 고려하세요.
