PDF 서명 넣기, 프린트·스캔 없이 1분이면 끝

받은 계약서 PDF에 이름과 날짜를 채우고 서명을 넣을 때마다 프린트하고 다시 스캔하기는 번거롭습니다. PDF Viewer는 클로드 화면 안에 PDF 뷰어를 띄워 놓고 빈칸 채우기, 형광펜·메모, 서명 넣기를 같이 하는 Anthropic 공식 플러그인입니다. 플러그인은 무료지만 쓸 때마다 클로드 사용량이 듭니다. 2026-10-21 macOS 26.1, Claude Code 2.1.299에서 가상의 계약서로 “빈칸 채우고 서명 넣어 줘”를 6번 보내 미리 정한 기준으로 채점했습니다.

세 줄 요약
  1. 6번 모두 빈칸 5개와 을 서명란 서명이 맞게 들어간 계약서가 나왔습니다(10점 만점에 모두 10점). 플러그인이 있든 없든 결과물은 같았습니다.
  2. 클로드 코드 자동 실행(claude -p)에서는 PDF 뷰어가 한 번도 연결되지 않았습니다. 플러그인 쪽도 결국 파이썬(PyMuPDF)으로 채웠습니다.
  3. 한 번에 1분 안팎, API 단가로 0.16~0.25달러어치. 뷰어 화면을 보며 고치는 쓰임은 클로드 데스크톱 앱 같은 화면이 있는 곳에서입니다(공식 문서 기준).

결과부터 보기: 같은 요청 6번

영상은 요청, 결과 계약서, 뷰어 오류, 6번 기록, 입력 칸 비교 순서로 보여 줍니다.

계약서 PDF 빈칸 채우기·서명 넣기를 PDF Viewer 없이·있이·명령으로 각 2번 한 결과와 채점표 · Claude Code · Sonnet 5.5 · 생각 깊이 중간

직접 보기: 결과 계약서 6개(PDF 받기 포함)

직접 실행 확인한 날짜 2026-10-21

실행 환경
macOS 26.1 · Claude Code 2.1.299 · Sonnet 5.5 · 생각 깊이 중간 (6번 모두 같은 설정) · 파이썬 가상환경에 pypdf·PyMuPDF 설치
설치 난이도
마켓 추가와 플러그인 설치 두 줄. PDF 서버는 처음 쓸 때 npx가 받아 옴(Node.js 18 이상)
비용
플러그인 무료. 이번 요청은 한 번에 API 단가로 0.16~0.25달러어치
뷰어가 뜨는 곳
화면에 뷰어를 띄울 수 있는 클로드 앱(PDF 서버 README는 클로드 데스크톱을 예로 듦). 클로드 코드 claude -p에서는 연결 안 됨(이번 실행)
라이선스
플러그인 Apache-2.0(anthropics/knowledge-work-plugins) · PDF 서버 MIT(modelcontextprotocol/ext-apps)

PDF Viewer 플러그인에 들어 있는 것

플러그인은 명령 4개, 스킬 1개, MCP 서버 1개로 되어 있습니다. 에이전트와 훅은 없습니다. MCP(Model Context Protocol)는 클로드가 바깥 프로그램을 도구처럼 쓰게 해 주는 연결 방식입니다.

터미널에서 PDF Viewer 플러그인 폴더의 파일 목록(명령 4개, 스킬 1개)과 MCP 서버 설정(.mcp.json)을 출력한 화면
플러그인 폴더 파일 목록과 MCP 서버 설정. npx로 @modelcontextprotocol/server-pdf를 띄움 · 터미널
구성이름하는 일
명령/pdf-viewer:openPDF를 뷰어로 열고, 계약서면 “중요 조항에 표시할까요?”처럼 다음 일을 제안
명령/pdf-viewer:annotate본문을 읽고 형광펜·메모·도장(승인·초안·대외비)을 제안 → 승인받으면 붙이고 화면으로 확인
명령/pdf-viewer:fill-form입력 칸 채우기. 칸 이름이 Text1처럼 뜻이 없으면 화면 캡처로 옆 글자를 보고 맞춤
명령/pdf-viewer:sign서명·이니셜 이미지를 원하는 페이지·위치에 붙임. 인증 전자서명은 아님
스킬view-pdf“이 계약서 보여 줘”, “여기 서명해 줘” 같은 요청에 불림. 요약·글자 꺼내기는 플러그인 대신 클로드 기본 읽기로 하라고 안내
MCP 서버pdf (server-pdf 2.0.3)도구 3개: PDF 목록(list_pdfs), 뷰어 열기(display_pdf), 뷰어 조작(interact: 칸 채우기·주석·캡처·글자 읽기·저장)

핵심은 interact 도구입니다. PDF 서버 README에 따르면 서버가 명령을 줄 세워 두고, 화면에 뜬 뷰어가 그 줄을 가져가 실행합니다. 그래서 뷰어 화면이 없으면 칸 채우기도, 서명도, 저장도 진행되지 않습니다. 이 구조가 이번 결과를 갈랐습니다.

따라 해 보기: 요청문과 실습 재료

이번에 쓴 요청입니다. 계약서, 채울 내용, 서명 이미지 세 파일이 든 폴더에서 클로드 코드에 보냅니다.

이 폴더의 contract.pdf는 디자인 업무 위탁 계약서야. 빈칸을 info.txt 내용대로 채우고, 을(수탁자) 서명란에 sign.png 서명을 넣어서 contract-signed.pdf로 저장해 줘. 원본 contract.pdf는 그대로 둬.

좋은 답이라면 상호·성명·금액·기간·계약일이 맞는 칸에 들어가고, 서명은 갑이 아닌 을 칸 안에 들어가며, 원본 파일은 바뀌지 않습니다. 실습 재료(zip)에는 계약서, 채울 내용, 서명 이미지, 요청문, 채점 기준, 재료를 만든 스크립트를 넣었습니다.

계약서에는 함정이 둘 있습니다. 빈칸 5개의 내부 이름이 Text1~Text5라 이름만으로는 어느 칸인지 모릅니다. 서명란은 갑·을 두 개입니다. 채점 기준은 실행 전에 플러그인 문서에서 뽑아 고정했습니다: 칸 5개 각 1점, 채운 글자가 두 가지 PDF 화면 엔진(PyMuPDF, 맥 미리보기 엔진)에서 보이는지 2점, 서명 위치 2점, 저장·원본 보존 1점입니다.

1단계. 플러그인 설치하기 (약 2분, 공식 문서 기준)

이 단계에서는 공식 마켓을 추가하고 플러그인을 깝니다. 클로드 코드 대화창에서 입력합니다(공식 문서 기준). 클로드 코드가 처음이라면 클로드 코드 설치 방법을 먼저 보세요. 클로드 앱에서는 디렉터리에서 “PDF Viewer”를 찾아 추가합니다.

/plugin marketplace add anthropics/knowledge-work-plugins
/plugin install pdf-viewer@knowledge-work-plugins

이렇게 나오면 성공 공식 문서에 따르면 /를 쳤을 때 /pdf-viewer:open 같은 명령 4개가 보입니다. 이번 실행은 플러그인 폴더를 받아 claude --plugin-dir ./plugin으로 읽었습니다. 첫 실행 때 PDF 서버가 npx로 내려받아졌습니다.

  • npx를 찾을 수 없다는 오류가 나오면: Node.js 18 이상을 먼저 설치합니다(README 기준).

필요 없어지면 아래 명령으로 지웁니다(공식 문서 기준).

/plugin uninstall pdf-viewer@knowledge-work-plugins

2단계. 플러그인 없이 요청 보내기 (약 1분)

이 단계에서는 플러그인 없이 요청을 보냅니다. 클로드는 PDF를 읽어 칸 위치를 확인하고, 파이썬 PDF 도구(PyMuPDF)로 칸을 채우고 서명 이미지를 을 칸 안에 비율을 지켜 넣었습니다. 2번 모두 10점이었습니다.

왼쪽은 빈칸 다섯 개와 빈 서명란이 있는 원본 계약서, 오른쪽은 빈칸이 채워지고 을 서명란에 김하늘 서명이 들어간 결과 계약서
왼쪽 원본, 오른쪽 결과. 빈칸 5개가 채워지고 을 서명란에 서명이 들어감 · 맥 미리보기 엔진으로 연 화면 · Sonnet 5.5 · 생각 깊이 중간

두 번의 방법은 조금 달랐습니다. 1번째는 입력 칸을 그대로 두고 값만 넣어, 나중에 다른 PDF 프로그램에서 고칠 수 있습니다. 2번째는 “한글이 깨지지 않도록” 입력 칸을 없애고 글자를 페이지에 바로 새겼습니다. 대신 칸 배경이 사라지고 다시 고칠 수 없으며, 한글 글꼴 파일이 일부가 아닌 통째로 들어가 파일이 6MB가 넘었습니다(다른 결과는 1MB 안쪽).

왼쪽은 입력 칸 배경이 사라지고 글자만 남은 결과, 오른쪽은 회색 입력 칸 안에 글자가 들어간 결과 계약서
왼쪽은 입력 칸을 없애고 글자를 새긴 결과, 오른쪽은 입력 칸을 남긴 결과 · Sonnet 5.5 · 생각 깊이 중간

나중에 고칠 일이 있으면 요청에 “입력 칸은 남겨 둬”를 붙이면 됩니다.

이번 6번은 모두 pypdf·PyMuPDF를 미리 깐 파이썬 환경에서 돌렸습니다. 라이브러리가 없는 환경으로 먼저 보냈을 때는 4번 모두 PyMuPDF 설치(pip install)부터 하려 했고, 실행 설정에서 설치 명령을 허용하지 않아 파일을 만들지 못했습니다. 이 4번은 채점에서 뺐습니다. 대화형으로 쓸 때 설치 허락을 물어보면 허락하면 됩니다.

3단계. 플러그인을 넣고 요청 보내기 (약 1분)

이 단계에서는 플러그인을 넣은 채 같은 요청을 2번, 앞에 /pdf-viewer:fill-form을 붙여 2번 보냅니다.

조건점수 1·2PDF 도구 호출뷰어 연결 오류비용 1·2(달러)
플러그인 없이10 · 100 · 00 · 00.16 · 0.22
플러그인 넣고 같은 요청10 · 100 · 20 · 10.18 · 0.22
명령 /pdf-viewer:fill-form10 · 105 · 42 · 20.25 · 0.21

플러그인을 넣고 같은 요청을 보낸 1번째는 PDF 도구를 아예 쓰지 않고 파이썬으로 끝냈습니다. 2번째와 명령 2번은 뷰어를 열었습니다. 뷰어 열기(display_pdf)는 성공해 칸 5개의 이름과 위치까지 돌려받았습니다. 그다음 조작(interact)에서 매번 아래 오류가 났습니다.

실행 기록 · <작업 폴더>/logs/cmd-2.jsonl · interact 도구 결과

ERROR at step 1/2 (get_text): Viewer never connected for viewUUID 7ccfebfd-56ea-490a-884d-f1ded87279b6 (no poll within 8s). The iframe likely failed to mount

우리말로는 “뷰어가 연결되지 않았습니다. 정해진 시간 안에 응답이 없어 화면 틀이 뜨지 못한 것 같습니다”라는 뜻입니다. claude -p는 화면 없이 요청 한 번을 처리하고 끝나는 실행 방식(헤드리스)입니다. 이 방식에서는 뷰어가 매번 연결되지 않았고, 화면이 없는 실행이라 그런 것으로 보입니다. 명령으로 부른 2번은 뷰어를 두 번씩 다시 열어 봤고, 그래도 안 되자 두 번 모두 뷰어 대신 PyMuPDF로 작업했다고 밝히고 플러그인 없이와 같은 방법으로 마쳤습니다.

이렇게 나오면 성공 폴더에 contract-signed.pdf가 생기고, 열면 빈칸 5개가 채워져 있고 을 칸에 서명이 있습니다. 6번 모두 이렇게 나왔습니다.

  • 뷰어를 연 3번은 도구 호출이 늘었습니다. 비용 차이는 조건마다 2번씩이라 우연일 수 있습니다.
  • 터미널에서 대화형으로 켠 클로드 코드는 이번에 시험하지 못했습니다(작업 폴더 신뢰 확인 단계에서 멈춤).

뷰어가 뜨는 곳에서는 무엇이 다른가 (공식 문서 기준)

이 부분은 공식 문서 기준입니다. 플러그인 README와 SKILL.md에 적힌 흐름은 이렇습니다.

  • 빈칸 채우기: 뷰어에 PDF가 뜨고, 클로드가 칸을 채울 때마다 화면에서 바로 보입니다. 칸 이름이 Text1처럼 뜻이 없어도 페이지 캡처로 옆 글자를 보고 맞춥니다. 틀린 칸은 뷰어에서 직접 고칩니다.
  • 서명: 서명 이미지 경로를 알려 주면 원하는 위치에 붙이고 캡처로 확인합니다. 이미지를 뷰어에 끌어다 놓아도 됩니다.
  • 검토 표시: 계약서를 읽고 “해지 조항에 형광펜, 30일 기한 확인 메모”처럼 제안한 뒤, 승인하면 붙입니다. 끝나면 뷰어 도구 막대에서 표시된 PDF를 내려받습니다.

결국 이 플러그인의 쓸모는 “결과 파일”보다 “보면서 같이 고치기”에 있습니다. 계약서 내용의 불리한 조항을 찾는 일은 리걸(Legal) 플러그인 리뷰를 참고하세요.

이런 사람에게 권합니다

  • ✅ 클로드 데스크톱 앱처럼 화면이 있는 곳에서, PDF를 보면서 클로드와 함께 형광펜·메모를 붙이고 칸을 하나씩 확인하며 채우고 싶은 사람(공식 문서 기준).
  • ✅ 칸 이름이 뒤죽박죽인 관공서·회사 양식을 화면으로 확인하며 채우고 싶은 사람.
  • ❌ 클로드 코드(터미널·자동 실행)에서 서명된 PDF 파일만 만들면 되는 사람. 플러그인 없이도 결과가 같았고, 뷰어 쪽 장점은 이 환경에서 쓰이지 않았습니다.
  • ❌ 법적 효력이 있는 전자서명이 필요한 사람. 이 플러그인은 서명 이미지를 붙일 뿐이고, 인증 전자서명은 전용 서비스를 써야 합니다(README 기준).

한계와 주의할 점

  • 한 쪽짜리 가상 계약서 하나를 Sonnet 5.5로 조건마다 두 번씩 처리했습니다. 여러 쪽이거나 칸이 없는 스캔 PDF면 결과가 달라질 수 있습니다.
  • 뷰어가 실제로 뜨는 클로드 앱 화면은 이번에 시험하지 않았습니다. 뷰어 쪽 설명은 공식 문서 기준입니다.
  • 입력 칸을 남긴 결과는 PDF 프로그램마다 글자 간격이 조금 다르게 보였습니다. 맥 미리보기에서는 고르게, PyMuPDF 화면에서는 넓게 보였습니다.
  • 클로드가 만든 계약서 결과는 보내기 전에 꼭 직접 열어 칸과 서명 위치를 확인하세요.

대안

방법다른 점이럴 때 고르세요
PDF Viewer(이 글)클로드 화면 안 뷰어에서 칸 채우기·주석·서명을 보며 함께화면이 있는 클로드 앱에서 같이 고칠 때
플러그인 없이 클로드 코드에 요청파이썬으로 칸 채우기·서명 넣기, 결과 파일만서명된 PDF 파일만 빨리 필요할 때
pdf 스킬(문서 스킬 4개)PDF 합치기·나누기·표 꺼내기 같은 작업 순서를 담은 공식 스킬PDF를 가공하는 일이 많을 때
맥 미리보기·PDF 편집 앱직접 칸에 입력하고 서명 붙이기한두 장을 손으로 빨리 처리할 때

스킬과 플러그인이 무엇인지는 클로드 스킬 사용법, 다른 플러그인을 고르는 법은 스킬·플러그인 디렉터리 사용법을 보세요.

자주 묻는 질문

클로드로 PDF에 서명을 넣을 수 있나요?

넣을 수 있습니다. 이번 6번 모두 서명 이미지가 을 서명란 안에 들어갔습니다. 서명 이미지(배경이 투명한 PNG가 좋음)와 PDF를 같은 폴더에 두고 “을 서명란에 sign.png를 넣어 줘”처럼 위치를 말하면 됩니다. 이미지를 붙이는 방식이라 인증 전자서명은 아닙니다.

PDF Viewer는 무료인가요?

플러그인과 PDF 서버는 무료이고, 쓰는 동안 클로드 요금제 사용량이 듭니다.

클로드 코드에서 “Viewer never connected” 오류가 나요

뷰어가 연결되지 않았다는 오류입니다. 이번 claude -p 실행에서는 매번 났고, 클로드는 파이썬으로 대신 처리해 결과 파일은 정상이었습니다(3단계).

PDF 내용을 요약할 때도 이 플러그인이 필요한가요?

필요 없습니다. 플러그인 문서도 요약과 글자 꺼내기는 클로드의 기본 PDF 읽기로 하라고 안내합니다.

출처

PDF Viewer 플러그인(anthropics/knowledge-work-plugins), SKILL.md, README, PDF 서버(modelcontextprotocol/ext-apps) (모두 2026-10-21 확인)