본문으로 건너뛰기
PPDF123

공유 전에 PDF 정리하기

PDF 정리는 PDF에서 선택한 활성·숨은 내용을 제거합니다. 문서를 열 때와 추가 JavaScript 동작, 임베드 파일, XMP와 Info 메타데이터, 링크 주석이 대상이며 글꼴 제거는 선택입니다. 공유 전 위생 처리일 뿐 백신 검사나 가리기가 아닙니다.

여기에 파일을 끌어다 놓거나, 클릭해 고릅니다

PDF 지원 · 파일당 최대 500.0 MB · 한 번에 최대 20개 파일

Ctrl/Cmd+V 또는 클립보드 메뉴로 파일을 붙여넣을 수도 있습니다.

PDF 정리는 전달 전에 선택한 활성 부가물을 벗깁니다. 카탈로그 수준 JavaScript 훅(`AA`, `OpenAction`), XMP Metadata, EmbeddedFiles 이름 트리, trailer Info 사전, 페이지 수준 `AA`, Link 주석, 그리고 선택적으로 Font 리소스입니다.

사이트 기본값은 JavaScript, 임베드 파일, XMP, Info 메타데이터, 링크를 켭니다. `removeFonts`는 기본 꺼짐이며 이유가 있습니다. Font 리소스를 벗기면 글이 사라지거나 네모 상자가 될 수 있습니다. API로 호출하면 각 `removeX=true` 플래그를 넘기지 않는 한 아무것도 제거되지 않습니다.

불러온 PDF에 대한 사전 수술이며 qpdf `--sanitize`가 아니고, 백신 스캔도, 가리기도 아닙니다. 페이지에 보이는 이름과 숫자는 그대로입니다. 본문의 비밀을 없애야 하면 텍스트 가리기를 쓰세요.

필요한 첨부는 먼저 꺼내 두세요. 배포용 사본을 정리하세요. 문서를 열 때 실행되는 동작에 의존하는 계산은 멈출 수 있습니다. 이름 있는 스크립트 트리, 양식 필드, 주석 동작에 들어 있는 JavaScript는 제거되지 않으며, 남은 것은 JavaScript 보기로 확인할 수 있습니다. PDF 평면화는 다른 작업입니다. 주석을 내용에 구워 넣지, 활성 항목을 지우지 않습니다.

수정 권한이 있는 파일만 정리하세요. 완전해야 하는 기록에서 감사 메타데이터를 벗기는 것은 부적절할 수 있습니다.

비밀번호로 보호된 파일은 이 페이지에서 비밀번호를 입력하면 자동으로 해제됩니다. API 호출자는 먼저 비밀번호 해제를 실행하세요. 내려받은 뒤 PDF를 열어 필요한 페이지가 렌더되는지 확인하세요. 특히 `removeFonts`를 켠 경우입니다.

정리를 공유 전 위생 처리로 보고, 보안 인증으로 보지 마세요. 이 키들을 지운 뒤에도 악성 PDF는 악성일 수 있습니다.

기능

  • 해당 스위치가 켜지면 카탈로그 JS 훅, XMP, Info, 임베드 파일명, Link 주석을 제거
  • `removeFonts`는 선택. 기본 꺼짐
  • 가리기·백신·qpdf `--sanitize`가 아님
  • 익명 API: /api/v1/security/sanitize-pdf

이런 경우에

  • 외부로 보내기 전에 JS와 임베드 파일을 벗김
  • 배포용 사본에서 XMP·Info 메타데이터를 줄임
  • 링크 주석이 원치 않는 목적지를 열지 않게 함

PDF에서 JavaScript와 메타데이터를 제거하려면?

  1. 공유 전에 정리할 PDF를 업로드합니다.
  2. 벗길 항목을 고릅니다. Font 제거는 렌더를 깨뜨릴 수 있습니다.
  3. 처리를 누르고 정리된 PDF를 내려받습니다.
  4. 뷰어에서 열어 페이지와 필요한 첨부가 의도대로인지 확인합니다.

제한과 경계

  • 보이는 본문 텍스트를 가리지 않음
  • 악성 PDF를 「안전」하다고 인증하지 않음
  • 이름 있는 스크립트 트리, 양식 필드, 주석 안의 JavaScript는 제거되지 않음
  • 비밀번호로 보호된 파일은 비밀번호가 필요(API는 먼저 비밀번호 해제 실행)
  • 이 사이트의 업로드 한도는 파일당 500MB이며, 약 95MB를 넘으면 나누어 전송합니다. API 직접 요청 한 건의 본문은 100MB까지입니다.

예시

  • OpenAction이 있는 PDF에서 해당 훅을 끈 뒤 배포 사본을 만듦
  • 문서를 열 때 실행되는 동작만 스크립트로 가진 파일은 removeJavaScript 뒤에 더 이상 그것을 실행하지 않음

이 도구의 개인정보 안내

파일은 HTTPS로 업로드되며, 서버 메모리 또는 수명이 짧은 임시 디렉터리에서 처리되고, 결과가 준비되면 삭제됩니다. 이후 열람·학습·광고 프로필용 사본은 보관하지 않습니다. 보관 기간과 AdSense 쿠키 고지는 개인정보 처리방침을 참고하세요.

자주 묻는 질문

정리가 페이지의 기밀 텍스트를 지우나요?
아닙니다. 활성 부가물과 메타데이터 키를 벗깁니다. 본문 텍스트를 가리려면 텍스트 가리기를 쓰세요.
왜 removeFonts가 기본 꺼짐인가요?
Font 리소스를 벗기면 글이 사라지거나 상자만 남을 수 있습니다.
qpdf --sanitize와 같나요?
아닙니다. 이 경로가 로드한 PDF 사전에 대해 자체 제거를 수행합니다.
양식이 계속 계산되나요?
PDF 정리는 문서를 열 때 실행되는 동작과 카탈로그·페이지의 추가 동작을 제거합니다. 계산 같은 필드 단위 스크립트는 제거되지 않습니다. 보내기 전에 파일을 시험해 보세요.

최종 업데이트:

코드에서 호출하기

이 사이트의 도구는 모두 일반 REST 엔드포인트입니다. 익명 사용에는 계정이나 API 키가 필요 없습니다. 브라우저뿐 아니라 개발자와 AI 에이전트도 그대로 쓸 수 있습니다.

curl -X POST "https://pdf123.xyz/api/v1/security/sanitize-pdf" \
  -F "[email protected]" \
  -F "removeJavaScript=true" \
  -F "removeEmbeddedFiles=true" \
  -F "removeXMPMetadata=true" \
  -F "removeMetadata=true" \
  -F "removeLinks=true" \
  -F "removeFonts=false" \
  -o output.pdf

Model Context Protocol을 쓰는 에이전트 클라이언트용 MCP 도구로도 제공합니다(JSON-RPC 2.0, POST /mcp). 전체 API 문서

AI 에이전트에서 사용하기

스킬

이 스킬을 설치하면 Claude Code, Codex, Cursor 등 AI 에이전트가 'PDF 정리' 작업을 대신 실행합니다: /skills/pdf123-sanitize.md

전체 에이전트 스킬

파일은 이번 처리에만 쓰이며, 끝나면 자동으로 삭제됩니다.