An AI agent는 로컬 머신에서 문서에 워터마크를 추가할 수 있으며, 업로드가 필요 없습니다: 평이한 언어로 요청하면 에이전트가 GroupDocs.Watermark.Mcp 서버를 호출하고, 원본 옆에 표시된 복사본이 나타납니다. 이는 Claude Desktop, Claude Code, Cursor, GitHub Copilot이 포함된 VS Code 및 Windsurf에서 작동합니다. 일반적인 첫 번째 요청, 로컬에서 실행:

contract.pdf에 대각선 CONFIDENTIAL 워터마크를 추가합니다.

구성 및 문제 해결이 포함된 단계별 버전은 문서에 있습니다: MCP를 사용한 AI 에이전트 문서 워터마크 방법.

LLM으로 만든 문서는 왜 라벨을 붙여야 할까요?

LLM이 초안을 작성하거나, 요약하거나, 문서 형식을 바꾸면, 파일은 어떻게 생성되었는지에 대한 흔적 없이 유통됩니다. 모델에게 “상단에 메모를 추가해라"고 요청하면 내용 자체가 바뀌고, 문서를 재작성하는 모델은 메모보다 더 많은 부분을 변경할 수 있습니다. 워터마크는 엔진이 저장된 복사본에 별도의 객체로 적용되므로, 그 아래 텍스트는 재생성되지 않습니다. 서버는 모든 결과를 새 파일로 기록하고 원본은 그대로 둡니다. 마크는 사용자가 선택한 일반 텍스트 또는 이미지이며, 서버는 문서가 AI 생성인지 감지하지 않으며 출처 메타데이터를 삽입하지 않습니다. 따라서 라벨링은 한 문장으로 정의할 수 있는 정책이 됩니다: 이 폴더를 떠나는 모든 문서는 마크를 가지고 있습니다.

워터마크는 억제 수단이지 접근 제어가 아닙니다. 출처를 가시화하고 일반적인 재사용을 불편하게 만듭니다. 복사를 막지는 못하며, 원한다면 누군가가 제거할 수도 있습니다. 변조 증거가 필요하다면 대신 디지털 서명을 사용하세요.

방법 1: 텍스트로 상태 표시

add_watermark를 라벨이 단어나 짧은 구인 경우에 사용합니다: DRAFT, CONFIDENTIAL, 날짜, “AI로 생성됨”.

summary.docx에 대각선 AI-GENERATED 워터마크를 추가합니다.

에이전트는 text와 선택적인 fontSize(기본값 36) 및 rotation(기본값 -45, 전통적인 대각선)을 사용하여 add_watermark를 호출합니다. 예상 결과는 Added text watermark "AI-GENERATED" to "summary.docx" 형태의 메시지와 출력 폴더에 있는 새 파일 경로입니다.

방법 2: 이미지를 사용해 출처 표시

라벨이 로고, 스탬프 또는 스캔된 서명인 경우 add_image_watermark를 사용합니다. 이미지는 PNG, JPG, BMP 또는 TIFF 형식일 수 있으며 문서와 동일한 저장 폴더에서 이름으로 찾아집니다.

approved‑stamp.png를 report.pdf의 모든 페이지에 30% 불투명도로 배치합니다.

opacity는 0.0에서 1.0까지이며 기본값은 0.5입니다. 0.2에서 0.4 사이의 값은 일반적으로 방해 요소보다는 라벨로 인식됩니다.

방법 3: 상태와 출처 마크 결합

하나의 마크만으로는 부족할 때, 예를 들어 출처 로고와 상태를 함께 사용할 때 두 번 호출합니다. 이를 연결하고 다음과 같이 말합니다:

로고를 30% 불투명도로 추가한 다음, 그 결과에 DRAFT 텍스트 워터마크를 추가합니다.

각 호출은 새 파일을 기록합니다. “to that result” 없이 두 번째 호출은 원본에서 시작하므로 DRAFT 마크만 남게 됩니다.

라벨이 적용되었는지 어떻게 확인하나요?

search_watermarks를 사용하여 문서에 어떤 워터마크가 있는지 물어볼 수 있습니다. 이 함수는 count와 watermarks 배열을 포함한 JSON 객체를 반환합니다; 각 항목은 type(텍스트 또는 이미지), text, page, x, y, width, height, rotateAngle을 가집니다.

proposal.pdf에 이미 워터마크가 있는지, 있다면 무엇이라고 적혀 있는지 확인합니다.

라벨링을 수행하기 전에 실행하면 이미 CONFIDENTIAL이 표시된 파일이 두 각도로 두 번 스탬프되지 않음을 확인할 수 있습니다. 라벨링 후에 실행하면 마크가 존재한다는 증거를 얻을 수 있습니다.

예시 세션 (요약)

사용자:    contract.pdf에 대각선 CONFIDENTIAL 워터마크를 추가하고,
        그것이 있는지 확인합니다.
에이전트:  [add_watermark: text "CONFIDENTIAL", rotation -45]
        "contract.pdf"에 텍스트 워터마크 "CONFIDENTIAL"이 추가되었습니다.
에이전트:  [search_watermarks on the new copy]
        count: 1 - type: text, text: "CONFIDENTIAL", page: 1
        복사본에 텍스트 워터마크가 하나 포함되어 있습니다. contract.pdf는 변경되지 않았습니다.

설정 방법

.NET 10 SDK가 설치된 상태에서 서버는 한 명령으로 시작되며, 클라이언트가 등록되면 이를 실행합니다:

dnx GroupDocs.Watermark.Mcp --yes

GROUPDOCS_MCP_STORAGE_PATH를 문서가 저장된 폴더로 설정합니다. Claude Desktop, Claude Code, Cursor, GitHub Copilot이 포함된 VS Code, Windsurf, Cline 및 Codex CLI용 등록 블록이 존재하며, 각에 대한 정확한 구성은 아래 링크된 문서 허브에 있습니다.

제한 사항은 무엇인가요?

첫 번째 제한은 라이선스입니다. 서버는 평가 모드로 시작하며, 서버의 라이선스 페이지에 따라 출력에 평가 제한이 적용됩니다; 정확한 제한은 라이브러리의 라이선스 페이지에서 확인할 수 있습니다. 워터마크 도구에서는 이것이 중요합니다: 평가 모드에서 만든 복사본은 배포용이 아닌 초안입니다. 에이전트에게 먼저 get_license_status를 호출하도록 요청하면, 문서를 건드리지 않고 mode(evaluation, licensed 또는 metered)를 반환합니다.

FAQ

Claude가 PDF에 업로드 없이 워터마크를 추가할 수 있나요?
예. 서버는 클라이언트가 시작하는 로컬 프로세스로 실행되며, 데이터 경로는 에이전트, 로컬 서버, 로컬 파일 시스템입니다. 모델은 프롬프트와 서버의 텍스트 응답을 보며, 문서 파일은 디스크에 그대로 남습니다.

AI 에이전트가 워터마크를 적용할 수 있는 형식은 무엇인가요?
PDF, Word, Excel, PowerPoint, 이미지 및 50개 이상의 문서와 이미지 형식이며, 모두 동일한 두 도구로 처리합니다.

여러 파일에 한 번에 라벨을 붙이려면 어떻게 해야 하나요?
프롬프트에 폴더 이름을 지정하면 에이전트가 파일별로 도구를 호출합니다. 전체 단계는 아래 링크된 배치 포스트에 있습니다.

더 깊이 알아보기