ICEPDF — 아크로벳을 닮은 PDF 에디터, AI와 0에서 1.0까지 2026.06.14

전자책을 읽다 링크가 안 눌렸다 — PDF 하이퍼링크 살리기 (ICEPDF v1.2.1)

Acrobat에선 눌리던 링크가 내 뷰어에선 죽어 있었다. 링크를 꺼내는 엔진도, 클릭을 받는 화면 층도 통째로 없었던 것. 웹 링크와 문서 내 점프 링크를 모두 살린 v1.2.1.

또 "마지막"이 아니었다. 이번엔 내가 쓴 전자책 PDF를 읽다가 걸렸다. 본문에 넣어 둔 링크를 눌렀는데 아무 일도 일어나지 않았다. Acrobat에서는 잘 눌리던 그 링크가, 정작 내가 만든 뷰어에서는 죽어 있었다. 그래서 ICEPDF를 v1.2.1로 올렸다 — PDF 안의 하이퍼링크 클릭 지원.

저장소: github.com/icenovel-rgb/icepdf

전화번호는 적혀 있는데, 전화기가 없었다

원인은 단순하면서도 근본적이었다. 링크를 처리하는 코드가 통째로 없었다. 페이지에 링크가 박혀 있어도, 그걸 꺼내는 엔진 기능도 없었고 화면에서 클릭을 받아 줄 층도 없었다. 종이에 전화번호는 또렷이 적혀 있는데 정작 전화기가 없어 걸 수 없는 셈이었다.

헷갈렸던 건, 후원 버튼이나 책갈피 이동 같은 링크는 멀쩡히 잘 됐다는 점이다. 그건 내가 따로 배선해 둔 버튼이었고, "문서 안에 박힌 링크"만 손대지 않은 빈칸이었던 것이다.

두 종류의 링크를 모두 살리다

PDF 링크는 두 가지다. 그래서 둘 다 처리하게 했다.

  • 웹 주소 링크 — 누르면 기본 브라우저로 그 사이트가 열린다
  • 문서 안 점프 링크 — "32쪽 참고" 같은 내부 링크는 누르면 그 페이지로 바로 이동한다

화면에는 링크 영역마다 투명한 클릭 층을 깔았다. 마우스를 올리면 파랗게 옅게 강조되고 주소가 말풍선으로 뜬다. 한 가지 신경 쓴 부분은, 이 클릭 층이 읽기 도구일 때만 작동하게 한 것이다. 형광펜이나 지우개로 편집하는 중에는 링크가 끼어들지 않고 그대로 통과한다 — 링크 위에도 형광펜을 칠할 수 있어야 하니까.

추측 대신 증거로 확인했다

"되겠지"로 끝내지 않았다. 문제를 발견한 바로 그 전자책 PDF의 88쪽에 있던 naver.me 링크로 자동 테스트를 짰다. 앱을 띄우고 → 그 페이지로 가서 → 링크를 실제로 클릭했을 때 → 정말 브라우저 열기가 호출되는지까지 확인했다. 통과. 내부 점프 링크는 별도로 만든 시험용 PDF로, "3쪽으로 가는 링크"가 정확히 3쪽으로 해석되는지 확인했다.

마무리

이번에도 "마지막"이라고 적지는 않으련다. 도구는 쓰면서 자란다는 걸, 이제는 인정하기로 했다. 매일 내 손으로 쓰는 물건이라 불편이 곧 눈에 띄고, 눈에 띈 불편은 결국 고치게 된다. 설치파일도 v1.2.1로 새로 올려 두었다.

ICEPDF — 아크로벳을 닮은 PDF 에디터, AI와 0에서 1.0까지 프로젝트로