실제로 중요한 작업은 PDFium에서 이루어지고 있음, PDFium은 Google이 Foxit에서 인수 후 직접 개발을 계속해온 프로젝트이며 현재 Chrome에 적용 중임을 안내함 (나는 한창 논의되고 있는 작업을 폄하하는 게 아니고, 단지 완전히 새로 작성된 PDF 파서가 아니라는 점을 언급함)
주요 목표는 개발자가 웹사이트에 손쉽게 통합할 수 있는 PDF 뷰어를 만드는 것이었음, PDF.js는 일부 활용 사례에선 커스터마이징과 확장이 어렵거나 복잡함
PDF 마크업(주석, 도형, 코멘트)이 필요한 경우, 직접 구축하거나 상당히 비싼 구독형 PDF 에디터만이 선택지로 떠오르는데, 실제로 Apryse를 연동한 팀들은 단순 PDF 편집 지원 비용만으로도 부담이 매우 크다고 들음
얼핏 보기만 해도 주석 코멘트 등 기존 제품들과는 다른 기능이 있음을 알 수 있음
iPad나 iPhone에서 데모 문서를 열어 보면, Print Preview 기능이 데스크탑 장치에서만 작동함을 알 수 있음
402개의 오픈 이슈를 보고 PDF의 엄청난 복잡성과 그 모든 기능을 처리하는 데 드는 노고를 짐작할 수 있음
예전에 PDF 뷰어를 내장한 사이드 프로젝트를 해본 적이 있음, 첫 버전은 pdf.js를 썼지만 빠르게 확대(zoom)할 땐 버벅이고 포커스 유지가 힘들었음, 그래서 C++ pdfium과 Metal 렌더링으로 직접 구현했음 데모 영상에서 확인 가능함, 타일링 방식을 적용해 메모리와 성능의 균형을 맞췄음, 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 채널로 문의해달라고 안내함
제품이 인상적으로 보임, 궁금한 점은 이렇게 기능이 풍부한 무료 PDF 뷰어 개발을 어떻게 지속할 계획인지임, 엔터프라이즈용 기능이나 PDF 호스팅 혹은 다른 수익화 모델을 계획 중인지 질문함
질문에 대해 모두 '예스'라고 답변, 클라이언트 쪽 PDF 뷰어는 무료+MIT 라이선스 유지, 다만 PDF 호스팅과 엔터프라이즈용 분석/액세스 컨트롤 등 부가 기능은 유료 서비스로 제공할 계획임
전체적으로 잘 작동하는데, 음영처리(redaction) 툴을 뷰 모드로 전환할 때(빨간 줄이 활성화된 상태) 여전히 redaction이 활성화돼 스크롤 불가 현상이 있었음, 새로고침으로 해결됨
좋은 피드백이고 곧 수정할 예정임, 모바일에서는 정밀한 영역 선택의 편의성 때문에 redaction 모드에서는 스크롤이 비활성화되는 게 의도된 동작임, 하지만 뷰 탭으로 전환하면 무조건 redaction 모드를 종료해야 함, 발견해줘서 고맙다는 답변임
Hacker News 의견