
전자책, 기술 매뉴얼, 보고서, 백서와 같은 긴 형식의 PDF 파일은 탐색하기 어려울 수 있습니다. 특정 챕터를 찾기 위해 수백 페이지를 스크롤하는 것은 사용자와 독자 모두에게 시간 낭비입니다. 이것이 바로 PDF 북마크가 중요한 이유입니다.
PDF 북마크는 대화형 클릭 가능 탐색 지점 역할을 합니다. 사용자는 끝없이 스크롤할 필요 없이 챕터, 섹션, 그림 또는 중요한 페이지로 즉시 이동할 수 있습니다. 비즈니스 보고서, 학술 논문, 기술 문서를 다루든 상관없이 PDF 북마크를 만드는 방법을 알면 문서 경험이 크게 향상됩니다.
이 기사에서는 일반 사용자를 위한 수동 워크플로와 개발자가 PDF 북마크를 효과적으로 추가할 수 있는 코드 기반 접근 방식을 다룹니다.
- PDF 북마크란 정확히 무엇인가요?
- Adobe Acrobat Pro에서 수동으로 PDF 북마크 만들기
- 개발자를 위한 프로그래밍 방식의 PDF 북마크 생성
- Microsoft Word에서 직접 PDF 북마크 생성하기
- 자주 묻는 질문(FAQ)
PDF 북마크란 정확히 무엇인가요?
PDF 북마크(개요라고도 함)는 PDF 파일 자체에 저장된 대화형 개요 트리입니다. 각 북마크는 대상 페이지, 위치 또는 보기 설정에 연결됩니다. 북마크는 계층적 중첩을 지원하므로 주요 챕터에 여러 하위 섹션 자식 북마크를 포함할 수 있습니다.
PDF 북마크의 이점:
- 대규모 문서에서 클릭 한 번으로 빠른 탐색 가능
- 사이드바 패널에 문서 구조를 항상 표시
- 복잡한 콘텐츠를 위한 중첩된 다단계 개요 지원
- 데스크톱 및 모바일의 대부분 PDF 리더에서 작동
- 추가 외부 파일이 필요 없으며, 모든 데이터가 PDF 내부에 존재
Adobe Acrobat Pro에서 수동으로 PDF 북마크 만들기
Adobe Acrobat Pro는 PDF 편집의 업계 표준이며 강력한 북마크 기능을 제공합니다.
Adobe에서 북마크 추가하는 방법:
- Adobe Acrobat Pro에서 PDF를 엽니다.
- 오른쪽에 있는 "북마크" 아이콘(리본 모양)을 클릭하여 북마크 패널을 표시합니다.
- 북마크를 지정하려는 페이지나 섹션으로 이동합니다.
- 패널 상단에 있는 "새 북마크" 아이콘(더하기 기호가 있는 페이지)을 클릭하여 새 북마크를 만듭니다.
- 북마크에 명확하고 설명적인 이름을 입력하고 Enter 키를 누릅니다.

Acrobat 사용자를 위한 전문가 팁:
북마크를 만들기 전에 텍스트를 강조 표시하면 Acrobat이 자동으로 강조 표시된 단어를 북마크 제목으로 사용합니다. 이는 시간을 절약하고 문서 제목과의 일관성을 보장합니다.
북마크는 사이드바를 위한 숨겨진 탐색 뼈대 역할을 하지만, 눈에 보이는 목차를 생성하면 북마크 제목과 해당 페이지 번호를 전용 텍스트 페이지로 추출할 수 있습니다.
개발자를 위한 프로그래밍 방식의 PDF 북마크 생성
수백 개의 PDF 파일을 처리하거나 문서 생성 파이프라인을 자동화해야 하는 경우 수동으로 북마크를 추가하는 것은 비효율적입니다. 개발자는 PDF 문서를 빌드하거나 처리할 때 코드를 통해 북마크를 삽입할 수 있습니다.
권장 솔루션: Free Spire.PDF for .NET
Free Spire.PDF for .NET은 개발자가 모든 .NET 애플리케이션에서 PDF 파일을 생성, 작성, 편집, 변환 및 읽을 수 있게 해주는 독립형 .NET 라이브러리입니다. 이 라이브러리는 프로그래밍 방식으로 북마크를 추가하고 수정하는 기능을 지원합니다.
C#을 사용하여 PDF에 북마크를 삽입하는 방법은 다음과 같습니다:
1. Free Spire.PDF for .NET 설치
먼저 NuGet 패키지 관리자를 통해 .NET 프로젝트에 무료 라이브러리를 추가합니다.
PM> Install-Package FreeSpire.PDF
2. 필수 네임스페이스 추가
이러한 가져오기를 통해 그래픽 기본 요소, 작업 트리거 및 북마크 컬렉션 개체에 액세스할 수 있습니다.
using System.Drawing;
using Spire.Pdf;
using Spire.Pdf.Graphics;
using Spire.Pdf.Actions;
using Spire.Pdf.Bookmarks;
using Spire.Pdf.General;
3. 북마크 추가 코드 작성
예제를 확장해 보겠습니다. 다음 코드는 다음 작업을 수행하는 방법을 보여줍니다:
- 기존 PDF 로드
- 최상위 부모 북마크 추가
- 중첩된 자식 하위 북마크 추가
- 대상 페이지 위치, 북마크 텍스트 색상 및 글꼴 스타일 정의
- 수정된 PDF 출력물 내보내기
namespace AddBookmark
{
class Program
{
static void Main(string[] args)
{
// PdfDocument 개체 생성
PdfDocument pdf = new PdfDocument();
// 소스 PDF 파일 로드
pdf.LoadFromFile("template.pdf");
// 첫 번째 페이지 가져오기
PdfPageBase page1 = pdf.Pages[0];
// (290, 70) 위치에 부모 북마크 추가
PdfBookmark execSummary = pdf.Bookmarks.Add("Executive Summary");
PdfDestination dest1 = new PdfDestination(page1, new PointF(290, 70));
execSummary.Action = new PdfGoToAction(dest1);
execSummary.Color = new PdfRGBColor(Color.Black);
execSummary.DisplayStyle = PdfTextStyle.Bold;
// 지정된 위치에 두 개의 자식 북마크 추가
PdfBookmark problem = execSummary.Add("The Problem");
PdfDestination destProb = new PdfDestination(page1, new PointF(70, 465));
problem.Action = new PdfGoToAction(destProb);
problem.Color = new PdfRGBColor(Color.Brown);
problem.DisplayStyle = PdfTextStyle.Italic;
PdfBookmark solution = execSummary.Add("The Solution");
PdfDestination destSol = new PdfDestination(page1, new PointF(345, 480));
solution.Action = new PdfGoToAction(destSol);
solution.Color = new PdfRGBColor(Color.Brown);
solution.DisplayStyle = PdfTextStyle.Italic;
// 두 번째 페이지 가져오기
PdfPageBase page2 = pdf.Pages[1];
// (70, 75) 위치에 부모 북마크 추가
PdfBookmark deliverables = pdf.Bookmarks.Add("Project Deliverables");
PdfDestination dest2 = new PdfDestination(page2, new PointF(60, 75));
deliverables.Action = new PdfGoToAction(dest2);
deliverables.Color = new PdfRGBColor(Color.Black);
deliverables.DisplayStyle = PdfTextStyle.Bold;
// 업데이트된 문서 저장
pdf.SaveToFile("AddPdfBookmarks.pdf");
pdf.Dispose();
}
}
}
주요 API 참조:
-
pdf.Bookmarks.Add(): 문서에 부모 북마크 추가 -
bookmark.Add(): 기존 부모 북마크에 하위 북마크 추가 -
new PdfDestination(page, location): 대상 페이지 및 위치 정의 -
new PdfGoToAction(destination): 지정된 대상으로 이동하는 "이동" 작업 생성
전문가 팁: PDF의 정확한 텍스트 위치를 확인하려면 Free Spire.PDF를 사용하여 문서 내 텍스트 또는 이미지의 좌표를 가져올 수 있습니다.
추가된 PDF 북마크:

프로그래밍 방식의 북마크 생성을 위해 Free Spire.PDF를 선택하는 이유?
- 자동화: 수백 개의 PDF를 일괄 처리하는 데 적합
- 유연성: 기존 문서에 북마크를 추가하거나 북마크가 포함된 새 PDF를 처음부터 생성 가능
- 완벽한 제어: 프로그래밍 방식으로 대상, 색상, 스타일 및 중첩 계층 구조 설정 가능
- 상업적 사용 무료: 비즈니스 애플리케이션에서도 라이선스 비용 없음
- 크로스 플랫폼: ASP.NET 및 .NET Core를 포함한 모든 .NET 애플리케이션에서 작동
Microsoft Word에서 직접 PDF 북마크 생성하기
문서를 처음부터 만드는 경우 PDF 내보내기 과정에서 자동으로 북마크를 생성할 수 있습니다.
작동 방식
Word가 PDF를 생성할 때 문서의 스타일 정의를 분석합니다. 내장된 제목 스타일(제목 1, 제목 2, 제목 3)을 계층적 북마크에 매핑합니다:
- 제목 1 → 최상위(레벨 1) 북마크.
- 제목 2 → 중첩된 자식(레벨 2) 북마크.
- 제목 3 → 손자(레벨 3) 북마크.
단계:
- 내장된 제목 스타일로 Word 콘텐츠 서식을 지정합니다.
- "파일 > 다른 이름으로 저장"으로 이동하여 PDF를 선택합니다.
- 저장하기 전에 "옵션"을 클릭하고 "제목을 사용하여 북마크 만들기"를 선택합니다.

- 파일을 저장합니다. 내보낸 PDF에는 Word 제목에 매핑된 자동 생성 북마크가 포함됩니다.

결론
PDF 북마크는 번거로운 문서를 세련되고 탐색하기 쉬운 리소스로 변환합니다. 워크플로에 맞는 접근 방식을 선택하세요:
- 수동 및 시각적 제어를 위한 Adobe Acrobat Pro
- 자동화 및 일괄 처리를 위한 프로그래밍 방식(Free Spire.PDF for .NET 등)
- 내보내기 중 자동 생성을 위한 Microsoft Word
어떤 방식을 선택하든 문서의 사용성과 독자의 만족도를 크게 높일 수 있습니다. 잘 구성된 북마크는 전문성과 세부 사항에 대한 주의를 나타냅니다. 시간을 투자하여 북마크를 추가하면 독자들이 그 차이를 높이 평가할 것입니다.
자주 묻는 질문(FAQ)
Q: 북마크와 하이퍼링크는 같은 것인가요?
A: 아니요. PDF의 하이퍼링크는 일반적으로 텍스트 본문 내(인라인)에 직접 삽입되며 밑줄이 그어져 있는 경우가 많습니다. 북마크는 전용 사이드 패널 개요 트리에 상주합니다. 둘 다 사용자를 탐색하게 하지만, 북마크는 지속적인 구조적 지도를 제공하는 반면 하이퍼링크는 상황에 맞는 인라인 점프를 제공합니다.
Q: 북마크는 모든 PDF 리더에서 작동하나요?
A: 물론입니다. PDF 북마크는 Adobe Acrobat, Foxit, Preview(Mac) 및 모바일 PDF 뷰어를 포함한 모든 주요 리더에서 지원되는 표준 PDF 기능입니다.
Q: 북마크가 PDF 파일 크기를 크게 증가시키나요?
A: 아니요. 북마크는 매우 가볍습니다. 본질적으로 제목, 페이지 포인터 및 작업 속성을 포함하는 작은 텍스트 기반 인덱스입니다. 수천 개의 중첩된 항목이 있더라도 전체 파일 크기에 미치는 영향은 이미지나 포함된 글꼴에 비해 무시할 수 있는 수준입니다.
Q: Adobe Acrobat 없이 PDF에서 기존 북마크를 편집하거나 삭제할 수 있나요?
A: 네. Free Spire.PDF 라이브러리를 사용하면 pdf.Bookmarks 컬렉션에 액세스할 수 있습니다. 비싼 데스크톱 소프트웨어를 구매하지 않고도 bookmarks.RemoveAt(index) 또는 bookmarks.Clear()를 호출하여 프로그래밍 방식으로 삭제할 수 있습니다.