# EmbedPDF - 오픈소스 JavaScript PDF 뷰어 (Adobe Acrobat PDF 뷰어의 무료 대체제)

> Clean Markdown view of GeekNews topic #22541. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=22541](https://news.hada.io/topic?id=22541)
- GeekNews Markdown: [https://news.hada.io/topic/22541.md](https://news.hada.io/topic/22541.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-08-16T10:01:42+09:00
- Updated: 2025-08-16T10:01:42+09:00
- Original source: [github.com/embedpdf](https://github.com/embedpdf/embed-pdf-viewer)
- Points: 25
- Comments: 1

## Summary

프론트엔드 개발자들이 **React, Vue, Svelte** 등 어디서나 손쉽게 연동할 수 있는 **오픈소스 PDF 뷰어**가 MIT 라이선스 기반으로 공개되었습니다. **주석, 실제 텍스트 레닥션**, 검색, 확대/축소 등 **고급 PDF 기능**을 제공하며, 플러그인 구조와 가상 스크롤로 **확장성 및 성능**을 모두 갖춥니다. 별도의 상용 솔루션 없이 내부 시스템이나 SaaS에 직접 **PDF 뷰어 통합**이 가능하며, 최신 프레임워크들과의 호환성과 개발자 친화적 인터페이스가 두드러집니다.

## Topic Body

- **EmbedPDF**는 JavaScript 프로젝트 어디서나 쉽게 연동할 수 있는 **오픈소스 PDF 뷰어**  
- React, Vue, Svelte, Preact, Vanilla JS 등 다양한 **프론트엔드 프레임워크와의 호환성**을 가짐  
- 주석, 하이라이트, 실제 텍스트 **삭제(레닥션), 검색, 확대/축소, 회전** 등 풍부한 기능 포함  
- 가상 스크롤 및 **플러그인 구조**로 성능 향상과 확장성 모두 지원  
- **MIT 라이센스**로 누구나 자유롭게 사용 및 기여 가능  
  
---  
  
### EmbedPDF 오픈소스 PDF 뷰어 프로젝트 개요  
  
- **EmbedPDF**는 JavaScript 프로젝트 어디든 손쉽게 삽입할 수 있는, 프레임워크 독립적인 오픈소스 **PDF 뷰어**  
- MIT 라이센스를 적용하며, React, Vue, Svelte, Preact, Vanilla JS 등 다양한 현대적 **프론트엔드 프레임워크와의 호환성** 강점 보유  
- **모던한 읽기 환경**과 개발자 친화적 API를 제공함  
  
### 주요 기능  
  
- **주석 지원**: 하이라이트, 스티키 노트, 자유 텍스트, 잉크 등 다양한 주석 기능 제공  
- **진짜 Redaction**: 레닥션 기능 사용 시 문서 내 실제 콘텐츠가 완전하게 제거되는 보안 기능 지원  
- **검색, 텍스트 선택, 확대/축소, 회전** 등의 핵심 PDF 조작 기능 포함  
- **부드럽고 가상화된 스크롤링**으로 대용량 문서도 성능 저하 없이 열람 가능  
- **플러그인 기반 아키텍처**와 트리 세이커블 플러그인을 통해 불필요한 코드 제외 및 확장 용이성 보장  
  
### 문서 및 데모  
  
- **공식 문서, 설치 가이드, API 레퍼런스, 예시**는 https://www.embedpdf.com 에서 확인 가능  
- **라이브 데모**에서 직접 PDF 파일을 업로드하거나 샘플 문서로 기능 체험 가능함  
  
### 오픈소스 및 라이센스  
  
- **MIT 라이센스**로 소스코드 자유 사용 및 기여 가능  
- PDFium을 포함하고 있으며, 이 부분은 **Apache License 2.0**에 따름  
  
### 커뮤니티 및 기여  
  
- 오픈소스 커뮤니티 참여 및 다양한 **기여**를 환영함  
- Contributing 가이드 및 Github Discussions에서 개발자 커뮤니케이션 가능  
  
### 프로젝트의 중요성 및 차별점  
  
- 기존 상용 PDF 뷰어 대안으로, 누구나 자유롭게 **사내 혹은 SaaS에 PDF 뷰어** 기능 손쉽게 도입 가능함  
- 다양한 프레임워크와의 **높은 호환성** 및 현대적, 모듈형 구조가 차별점임  
- 레닥션 등 **고급 PDF 처리 기능**을 오픈소스에서 제공하는 드문 예시임

## Comments



### Comment 42551

- Author: neo
- Created: 2025-08-16T10:01:42+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=44901683) 
* 실제로 중요한 작업은 PDFium에서 이루어지고 있음, PDFium은 Google이 Foxit에서 인수 후 직접 개발을 계속해온 프로젝트이며 현재 Chrome에 적용 중임을 안내함 (나는 한창 논의되고 있는 작업을 폄하하는 게 아니고, 단지 완전히 새로 작성된 PDF 파서가 아니라는 점을 언급함)
  * 많은 PDF 뷰어(상업용 제품 포함)가 PDFium을 기반으로 만들어지고 있다고 생각함
* Mozilla PDF.js가 존재하는데도 이 프로젝트를 개발한 이유가 궁금함 [https://github.com/mozilla/pdf.js](https://github.com/mozilla/pdf.js) (비판이 아니라, 이미 있는 것을 다시 만드는 데엔 수많은 이유가 있기 때문에 단순한 궁금증임)
  * 주요 목표는 개발자가 웹사이트에 손쉽게 통합할 수 있는 PDF 뷰어를 만드는 것이었음, PDF.js는 일부 활용 사례에선 커스터마이징과 확장이 어렵거나 복잡함
  * PDF 마크업(주석, 도형, 코멘트)이 필요한 경우, 직접 구축하거나 상당히 비싼 구독형 PDF 에디터만이 선택지로 떠오르는데, 실제로 Apryse를 연동한 팀들은 단순 PDF 편집 지원 비용만으로도 부담이 매우 크다고 들음
  * 얼핏 보기만 해도 주석 코멘트 등 기존 제품들과는 다른 기능이 있음을 알 수 있음
  * iPad나 iPhone에서 데모 문서를 열어 보면, Print Preview 기능이 데스크탑 장치에서만 작동함을 알 수 있음
  * 402개의 오픈 이슈를 보고 PDF의 엄청난 복잡성과 그 모든 기능을 처리하는 데 드는 노고를 짐작할 수 있음
* 예전에 PDF 뷰어를 내장한 사이드 프로젝트를 해본 적이 있음, 첫 버전은 pdf.js를 썼지만 빠르게 확대(zoom)할 땐 버벅이고 포커스 유지가 힘들었음, 그래서 C++ pdfium과 Metal 렌더링으로 직접 구현했음 [데모 영상](https://youtu.be/jJMhVn5yzEI)에서 확인 가능함, 타일링 방식을 적용해 메모리와 성능의 균형을 맞췄음, pdfium이 WebAssembly에서도 이 정도로 성능이 좋은 줄 몰랐으며, 사실 C++보다 웹에서 UI 개발하는 쪽이 더 편함
  * 솔직히 데모가 훨씬 더 빠르고 부드럽게 느껴짐, zoom 동작이 정말 매끄럽게 구현되어 있음, 이걸 보고 나도 다시 개발에 뛰어들어 성능을 개선해보고 싶다는 생각이 듦
* pdf.js를 사용 중인데(17MB, 158페이지, 이미지 다수, Windows 환경) 테스트하면서 겪은 문제점을 공유함  
  * 링크가 동작하지 않음
  * 북마크는 보이는데 작동하지 않음
  * 파이어폭스에선 텍스트 선택 불가
  * 크롬에서 미들 클릭(스크롤 용도)이 텍스트 선택으로 연결됨
  * pdf.js에서는 스크롤이 괜찮은데, 본 제품에서는 스크롤 시 수백~천 밀리 초 동안 화면이 흐릿하게 보이며 품질 저하가 심함, 엔드 키 등으로 여러 페이지를 점프하면 하얀 화면만 보임
  * FF에서는 위/아래, 페이지 업/다운, 홈/엔드가 동작하지 않음(좌우는 동작)
* 간단하게 테스트해보았고, Firefox에서는 주석 기능이 아예 동작하지 않았으나 Chrome에서는 밑줄, 하이라이트 등 모든 주석 기능이 정상 임을 확인함
  * Firefox에서 주석 테스트를 아직 못 해봤으니 알려줘서 고맙다는 메시지, Chrome에서는 문제없이 동작해 다행임을 공유함, 곧 확인해볼 계획임
* 임베디드 아웃라인(주석) 편집을 지원하는지 궁금함, PDF 뷰어/에디터에서 항상 가장 아쉬웠던 기능으로, 아웃라인 없는 PDF 받을 때마다 이 기능이 필요함을 느낌
* 리눅스+Firefox 조합에서는 데모에서 주석/음영 처리(redaction) 도구가 전혀 동작하지 않음, 반면 Chromium에서는 동일 머신에서 잘 동작함
  * Firefox에서 발생한 문제를 방금 수정했으며, 이제 Linux + Firefox와 Chromium 양쪽 모두에서 주석 및 음영 처리 기능이 정상 동작함을 안내함
* 문서화도 훌륭하며 headless React 라이브러리 컨셉이 특히 마음에 들었음, 커스텀 UI와 기능을 손쉽게 붙일 수 있음, 특정 용어를 자동 하이라이트/밑줄 처리 후 클릭 혹은 hover 시 커스텀 컴포넌트를 표시하는 건 얼마나 어려운지 질문함
  * 아주 간단하게 할 수 있음, 이미 그런 기능이 구현됨, AnnotationLayer에서 직접 selectionMenu와 커스텀 컴포넌트를 렌더링 가능함, 더 깊이 들어가고 싶다면 [Discord 채널](https://discord.gg/mHHABmmuVU)로 문의해달라고 안내함
* 제품이 인상적으로 보임, 궁금한 점은 이렇게 기능이 풍부한 무료 PDF 뷰어 개발을 어떻게 지속할 계획인지임, 엔터프라이즈용 기능이나 PDF 호스팅 혹은 다른 수익화 모델을 계획 중인지 질문함
  * 질문에 대해 모두 '예스'라고 답변, 클라이언트 쪽 PDF 뷰어는 무료+MIT 라이선스 유지, 다만 PDF 호스팅과 엔터프라이즈용 분석/액세스 컨트롤 등 부가 기능은 유료 서비스로 제공할 계획임
* 전체적으로 잘 작동하는데, 음영처리(redaction) 툴을 뷰 모드로 전환할 때(빨간 줄이 활성화된 상태) 여전히 redaction이 활성화돼 스크롤 불가 현상이 있었음, 새로고침으로 해결됨
  * 좋은 피드백이고 곧 수정할 예정임, 모바일에서는 정밀한 영역 선택의 편의성 때문에 redaction 모드에서는 스크롤이 비활성화되는 게 의도된 동작임, 하지만 뷰 탭으로 전환하면 무조건 redaction 모드를 종료해야 함, 발견해줘서 고맙다는 답변임
