ExtractTextFromPage로 북마크 추가

This article was translated from English: Does it need improvement?
Translated
View the article in English

텍스트 콘텐츠를 기반으로 북마크를 추가할 때는 반환된 텍스트가 뒤죽박죽되거나 순서가 어긋나므로 제목 기반 검색이 절대 일치하지 않아서 Pages.Lines 속성으로 검색하면 실패할 수 있습니다. ExtractTextFromPage()을 사용하여 페이지 텍스트를 추출하면 논리적 순서로 각 페이지를 읽으며, 검색에 신뢰할 수 있는 문자열을 제공합니다.

2026.5.x 및 이후 버전에서는 대신 LinkAnnotation 클래스를 사용하세요. (특정 페이지와 위치로 이동하는 클릭 가능 링크를 기본적으로 지원하며, 사용 가능한 경우 권장되는 접근 방식입니다.)

Pages.Lines는 페이지에 시각적으로 나타나는 방식으로 텍스트를 재구성합니다. 텍스트가 비선형 순서로 그려지거나, 사용자 정의 폰트나 인코딩이 사용되거나, PDF가 HTML이나 복잡한 레이아웃을 가진 타사 도구에서 생성된 경우에는 문제가 됩니다. 결과는 불완전하거나 섞인 텍스트라서 신뢰할 수 있게 검색할 수 없습니다.

해결책

1. ExtractTextFromPage()로 각 페이지 읽기

시각적 재구성이 아닌 각 페이지의 원래 내장 텍스트를 가져옵니다. ExtractTextFromPage()는 페이지 내용을 논리적 읽기 순서대로 반환하므로, 다양한 PDF 구조 전반에 걸쳐 헤더 검색을 훨씬 더 신뢰할 수 있게 만듭니다.

2. 모든 페이지를 반복하며 각 고유 헤더 즐겨찾기 추가

모든 페이지를 탐색하여 어디에 있든지 섹션이 누락되지 않도록 하고 이미 본 헤더를 추적하여 각 헤더가 한 번만 즐겨찾기에 추가되도록 합니다. HashSet은 중복 제거를 위한 깔끔한 방법입니다: "ARTICLE 1", "ARTICLE 2"라는 제목이 있는 섹션이 있는 문서를 보면 각 기사에 대해 단일 북마크를 보장합니다.

출력은 PDF가 동적 HTML 소스에서 생성되었거나 복잡한 포맷임에도 불구하고 각 지시된 제목을 가리키는 북마크 세트입니다.

ExtractTextFromPage와 HashSet을 사용하여 기사 헤더당 PDF 북마크 추가하는 C# 코드

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 20,296,129 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.