Adding a visual identifier to PDF 파일에 시각적 식별자를 추가하는 것은 지적 재산 보호와 문서 브랜딩에 필수적입니다. GroupDocs.Watermark Cloud SDK for Java은 Java 애플리케이션에서 PDF에 이미지 워터마크를 직접 삽입할 수 있는 간단한 API를 제공합니다. 이 튜토리얼에서는 Java에서 PDF 문서에 이미지 워터마크를 추가하는 방법을 배우고, 완전한 작업 예제를 확인하며, 클라우드 통합을 위한 동등한 cURL REST 호출을 살펴봅니다.

Java에서 PDF 문서에 이미지 워터마크 추가하기 5단계

  1. API 클라이언트 초기화: 클라이언트 ID와 비밀 키를 사용하여 ApiClient 인스턴스를 생성합니다.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

이 단계는 Java 코드를 GroupDocs.Watermark Cloud 서비스에 연결합니다. 자세한 내용은 API reference를 참조하십시오.

  1. 원본 PDF 파일 지정: 워터마크를 적용하려는 PDF를 가리키는 FileInfo 객체를 만듭니다.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");

파일은 요청 전에 GroupDocs 스토리지에 업로드되어야 합니다.

  1. 이미지 워터마크 구성: 이미지 경로, 불투명도, 스케일 팩터, 회전 및 정렬을 정의합니다.
ImageWatermark imageWatermark = new ImageWatermark();
imageWatermark.setImagePath("watermark.png");
imageWatermark.setOpacity(0.5);
imageWatermark.setScaleFactor(0.3);
imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
imageWatermark.setMargin(new Margin(10, 10, 10, 10));

이 값들을 조정하여 원하는 외관을 얻을 수 있습니다. 불투명도는 투명도를 제어하고, 스케일 팩터는 페이지에 대한 크기를 결정합니다.

  1. 워터마크 옵션 및 출력 경로 설정: 파일 정보와 워터마크를 WatermarkOptions 객체로 결합합니다.
WatermarkOptions options = new WatermarkOptions();
options.setFileInfo(fileInfo);
options.setImageWatermark(imageWatermark);
options.setOutputPath("output.pdf");

outputPath는 서비스가 결과 PDF를 저장할 위치를 지정합니다.

  1. 요청 실행: AddWatermarkRequest를 생성하고 API를 호출합니다. 성공 또는 오류 응답을 처리합니다.
    AddWatermarkRequest request = new AddWatermarkRequest(options);
    try {
        AddWatermarkResponse response = watermarkApi.addWatermark(request);
        System.out.println("Watermark added successfully. Output file: " + response.getPath());
    } catch (Exception e) {
        System.err.println("Error adding watermark: " + e.getMessage());
    }
    
    실행이 완료되면, 워터마크가 적용된 PDF가 지정한 위치에 저장됩니다.

전체 코드 예제: Java에서 PDF 문서에 이미지 워터마크 추가

다음 예제는 클라이언트 초기화부터 워터마크가 적용된 PDF 저장까지 전체 구현을 보여줍니다.

import com.groupdocs.cloud.watermark.api.WatermarkApi;
import com.groupdocs.cloud.watermark.client.ApiClient;
import com.groupdocs.cloud.watermark.model.AddWatermarkRequest;
import com.groupdocs.cloud.watermark.model.AddWatermarkResponse;
import com.groupdocs.cloud.watermark.model.FileInfo;
import com.groupdocs.cloud.watermark.model.ImageWatermark;
import com.groupdocs.cloud.watermark.model.Margin;
import com.groupdocs.cloud.watermark.model.WatermarkOptions;
import com.groupdocs.cloud.watermark.model.enums.HorizontalAlignment;
import com.groupdocs.cloud.watermark.model.enums.VerticalAlignment;

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

// Input PDF file information
        FileInfo fileInfo = new FileInfo();
        fileInfo.setFilePath("input.pdf");

// Image watermark configuration
        ImageWatermark imageWatermark = new ImageWatermark();
        imageWatermark.setImagePath("watermark.png");          // Path to watermark image
        imageWatermark.setOpacity(0.5);                        // 50% opacity
        imageWatermark.setScaleFactor(0.3);                    // 30% of page size
        imageWatermark.setRotationAngle(0);                    // No rotation
        imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
        imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
        imageWatermark.setMargin(new Margin(10, 10, 10, 10));  // 10 points margin on all sides

// Watermark options
        WatermarkOptions options = new WatermarkOptions();
        options.setFileInfo(fileInfo);
        options.setImageWatermark(imageWatermark);
        options.setOutputPath("output.pdf"); // Resulting PDF with watermark

// Create request and call API
        AddWatermarkRequest request = new AddWatermarkRequest(options);
        try {
            AddWatermarkResponse response = watermarkApi.addWatermark(request);
            System.out.println("Watermark added successfully. Output file: " + response.getPath());
        } catch (Exception e) {
            System.err.println("Error adding watermark: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

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

cURL 및 REST API를 사용하여 PDF 문서에 이미지 워터마크 적용

아래는 Java 코드를 작성하지 않고도 동일한 결과를 얻기 위해 cURL을 사용하여 호출할 수 있는 REST 호출 목록입니다.

  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"}'
    

    응답에는 이후 호출에 사용되는 access_token이 포함됩니다.

  2. 소스 PDF 업로드

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/input.pdf"
    
  3. 워터마크 이미지 업로드

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=watermark.png" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/watermark.png"
    
  4. 이미지 워터마크 추가

curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/add" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.pdf" },
           "imageWatermark": {
               "imagePath": "watermark.png",
               "opacity": 0.5,
               "scaleFactor": 0.3,
               "horizontalAlignment": "Center",
               "verticalAlignment": "Center",
               "margin": { "top": 10, "right": 10, "bottom": 10, "left": 10 }
           },
           "outputPath": "output.pdf"
         }'

이 요청은 Java 코드 로직을 그대로 반영하며, 동일한 불투명도, 스케일링 및 정렬 설정을 적용합니다.

  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 문서를 참조하십시오.

설치 및 구성 GroupDocs.Watermark Cloud SDK for Java

Maven 의존성을 pom.xml에 추가하세요 (또는 동등한 Gradle 스니펫). 라이브러리는 Maven Central에 호스팅됩니다.

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

또한 유효한 GroupDocs Cloud 계정이 필요합니다. Client IDClient SecretGroupDocs 포털에서 가져오세요. SDK가 클라우드 서비스와 통신하므로 추가 런타임 설치가 필요하지 않습니다.

PDF 문서용 이미지 워터마크 옵션 미세 조정

SDK는 워터마크의 시각적 모양을 제어할 수 있는 여러 속성을 제공합니다.

불투명도 조정

imageWatermark.setOpacity(0.75); // 75% opacity for a more visible watermark

불투명도 값은 0.0(완전히 투명)에서 1.0(완전히 불투명)까지입니다.

스케일 팩터 변경

imageWatermark.setScaleFactor(0.5); // Watermark occupies 50% of the page width

스케일 팩터는 페이지 크기에 대한 워터마크 크기를 결정합니다.

정렬 및 여백 설정

imageWatermark.setHorizontalAlignment(HorizontalAlignment.RIGHT);
imageWatermark.setVerticalAlignment(VerticalAlignment.BOTTOM);
imageWatermark.setMargin(new Margin(20, 20, 20, 20));

이 설정은 워터마크를 오른쪽 하단에 20포인트 여백을 두고 배치합니다.

구성 가능한 속성의 전체 목록은 API 참조를 참조하십시오.

결론

Java에서 PDF 문서에 이미지 워터마크를 추가하는 것은 GroupDocs.Watermark Cloud SDK for Java를 사용할 때 간단한 작업입니다. SDK는 모든 저수준 PDF 조작을 처리하여 불투명도, 스케일링 및 위치 지정과 같은 시각적 측면에 집중할 수 있게 합니다. 네이티브 Java 구현을 선호하든 클라우드 기반 cURL 워크플로를 선호하든, 동일한 고품질 결과를 성능 저하 없이 달성할 수 있습니다. 프로덕션 사용을 위해 적절한 라이선스를 확보하는 것을 기억하세요; 가격 세부 정보는 제품 페이지에서 확인할 수 있으며, 평가를 위해 임시 라이선스 페이지를 사용할 수 있습니다.

FAQs

  • Java에서 품질 손실 없이 PDF에 이미지 워터마크를 추가하려면 어떻게 해야 하나요?
    scaleFactor 속성을 사용하여 워터마크 크기를 페이지에 상대적으로 지정하고 원본 PDF의 DPI를 유지합니다. SDK는 PDF의 해상도를 보존하므로 워터마크가 모든 확대 수준에서 선명하게 표시됩니다.

  • 같은 PDF에 여러 워터마크를 추가할 수 있나요?
    예. 서로 다른 구성을 가진 별도의 ImageWatermark 객체를 생성하고 addWatermark를 여러 번 호출하거나 요청에 리스트로 추가하여 순차적으로 적용하십시오.

  • 워터마크에서 지원되는 이미지 형식은 무엇인가요?
    API는 일반적인 이미지 유형인 PNG, JPG, BMP, GIF 및 TIFF를 지원합니다. 무손실 품질과 투명도 지원을 위해 PNG를 권장합니다.

  • 워터마크를 적용하기 전에 미리 볼 수 있는 방법이 있나요?
    GroupDocs.Watermark Cloud SDK for Java를 사용하여 워터마크가 포함된 임시 PDF를 생성하고 검토를 위해 다운로드할 수 있습니다. 이는 동일한 addWatermark 호출을 사용하고 출력 경로를 임시 위치로 지정합니다.

더 읽기