또 다른 무료 웹 변환기 대신 PDF 툴킷을 자체 호스팅하는 이유
브라우저 변환기는 익명 일회성 작업에 맞습니다. 같은 카탈로그를 자체 호스팅하면 REST와 MCP, CLI를 얻고, 스택에 광고가 없으며 파일이 네트워크를 떠나지 않습니다. 오프라인 배포는 Docker Compose입니다.

브라우저 전용 PDF 변환기는 업로드, 클릭, 다운로드에 최적화되어 있습니다. 페이지는 흔히 광고로 운영되고, 폼 너머에는 안정적인 개발자 표면이 대개 없습니다. 사람이 한 번 쓰는 작업에는 이 제품 형태가 맞습니다. 자동화나 보존 정책, 또는 파일이 반드시 자체 네트워크에 남아야 하는 상황에는 틀린 형태입니다.
브라우저 변환기가 최적화하는 것
공개 변환기가 파는 것은 편의입니다. 탭을 열고, 파일을 떨어뜨리고, 결과를 받고, 나갑니다. UI가 곧 제품입니다. 스크립트는 HTML을 긁거나 예고 없이 바뀌는 미문서화 엔드포인트를 두드려야 합니다. 임시 저장소의 보존 책임은 그것을 운영하는 쪽에 있습니다. 개인 PDF 두 개를 한 번 합치는 정도라면 이 거래는 괜찮습니다.
같은 작업을 CI나 에이전트, 또는 에어갭 네트워크에서 돌려야 하는 순간, 빠져 있던 조각들이 한꺼번에 드러납니다. 인증, OpenAPI, 멱등 재시도, 그리고 지난주에 클릭한 폼과 조용히 갈라지지 않는 카탈로그입니다.
이 카탈로그를 직접 돌리면 얻는 것
호스팅 사이트와 자체 호스팅 인스턴스는 같은 연산을 공유합니다. PDF 압축와 PDF 병합는 요청이 포털에서 왔든 POST /api/v1/…에서 왔든 같은 op입니다. 자체 호스팅은 그 공유 카탈로그 둘레에 통제를 더합니다.
- REST + OpenAPI(
/v1/openapi.json): 카탈로그의 모든 도구가 폼이 아니라 안정적인 엔드포인트입니다. - MCP(
/mcp): 에이전트가 스크래퍼를 새로 만들지 않고 같은 연산을 발견해 호출합니다. - CLI(
pdfx): 로컬 pdf-core를 쓰거나, base URL의 API 키로--cloud를 씁니다. - 데스크톱 클라이언트 없음: 오프라인 방식은 Docker Compose입니다. 플러그인과 Windows 설치 프로그램은 의도적으로 범위 밖입니다.
- 광고가 스택에 들어오지 않음: 공개 사이트의 AdSense는 자체 호스팅 배포에 포함되지 않습니다. 업로드는 직접 운영하는 머신을 벗어나지 않습니다.
Compose는 Rust pdfx-server와 Next.js 포털을 함께 띄워 사람과 스크립트가 하나의 카탈로그를 공유하게 합니다. 네이티브 개발(task pdfx:dev와 포털)도 같은 op 경로를 씁니다. 자세한 내용은 자체 호스팅에 있습니다.
어느 배포에서든 OCR은 /api/v1/misc/ocr-pdf에서 Markdown(text/markdown)을 반환하며, 텍스트 레이어를 다시 입힌 검색 가능 PDF가 아닙니다. 서버를 옮기면 바이트가 어디에 남는지가 바뀔 뿐, 다른 op 계약이 생기지는 않습니다.
의도적으로 따라 하지 않는 것
온라인 “Edit PDF” 캔버스, 시각 비교, 빈 Create PDF, 소비자용 Sign UI는 다른 제품 작업이 필요합니다. 우리는 대신 폼 기반 도구 매트릭스와 API를 유지합니다. 자체 호스팅이 두 번째 UI 트리를 열어 주지는 않습니다. 같은 트리를 방화벽 뒤로 옮길 뿐입니다.
이런 소비자 표면을 건너뛰는 것은 의도적입니다. 캔버스 편집기는 OpenAPI에 비해 기능이 뒤처지는 두 번째 코드베이스가 됩니다. 사내 사용에서 중요한 제약은 “바이트가 여기에 남는다”이지 “.exe가 있다”가 아닙니다. 데스크톱 포크가 없는 이유는 데스크톱 앱을 만들지 않은 이유를 보세요.
호스팅으로 충분할 때와 그렇지 않을 때
설정 없이 익명으로 한 번 쓰고 싶다면 공개 사이트를 쓰세요. 카탈로그 도구와 익명 /api/v1/ 호출에는 계정이 필요 없습니다. 호스팅 응답은 요청 제한 헤더를 알려 주고, 상한이 있는 이유는 무료 표면이 남의 배치 농장이 되지 않게 하기 위해서입니다(익명 요청 제한).
보존 규칙이나 사설 네트워크, 사내 자동화가 필요하면 자체 호스팅하세요. 그러면 가동 시간, 이미지 업그레이드, 임시 파일용 디스크, TLS, 키 교체를 직접 책임집니다(고정 게이트는 SECURITY_CUSTOMGLOBALAPIKEY). 연산은 그대로이고, 바이트가 남는 위치만 달라집니다.
사용해 보기
자체 호스팅와 개발자에서 시작하세요. 어느 base URL이든 에이전트 지향 API 표면은 AI 에이전트를 위해 만들어진 API를 읽으세요. 더 자세한 비용·편익 분석은 자체 호스팅이 실제로 사 주는 것을 보세요.