property Bookmark[const Title: WString]: TBookmark; // read only
PDF 아웃라인(Acrobat 같은 뷰어에서는 문서 아웃라인 혹은 "북마크"라고 부릅니다)은 사용자가 사이드 패널에서 탐색하는 이름 붙은 항목의 계층 트리입니다. 각 항목은 제목과 선택적인 destination이나 action, 그리고 자식 항목들을 갖습니다. PDFium Delphi Component는 이 트리를 TBookmark 레코드 나열로 펼쳐 보여 주며, 각 레코드는 원본 FPDF_BOOKMARK 핸들과 미리 해석된 제목, 대상 페이지 번호, action 타입, action 대상을 담고 있습니다
문자열 인덱스 형태의 Bookmark는 아웃라인 트리 전체(깊이 우선)를 대상으로 대소문자를 구분해 검색하고 처음 맞는 노드를 반환합니다. 그 제목의 항목이 없으면 반환 레코드는 Handle = nil, PageNumber = 0이 되므로 — 탐색 전에 Handle을 확인하세요
문서 순서대로 모든 노드를 나열하려면 Bookmarks, 한 단계 자식만 훑으려면 BookmarkChildren, 원본 핸들(예: 뷰어 쪽 클릭 이벤트에서 얻은 것)을 채워진 레코드로 되돌리려면 BookmarkFrom을 사용하세요
| Title | WString. 맞춰 볼 북마크 제목 전체입니다. 비교는 대소문자를 구분하는 정확 일치이며(부분 문자열이나 와일드카드 없음) 제목의 공백과 문장부호는 PDF 아웃라인에 저장된 그대로 입력해야 합니다 |
Action 필드는 북마크가 실행될 때의 동작을 나타냅니다 — acGoto는 문서 안의 ActionPageNumber로 이동, acGotoRemote는 다른 PDF 파일 대상, acUri는 URL 열기, acLaunch는 외부 파일 실행, acUnsupported는 PDFium이 destination을 해석하지 못했음을 뜻합니다0으로 보고됩니다
var
Bm: TBookmark;
begin
Pdf1.LoadFromFile('specification.pdf');
Bm := Pdf1.Bookmark['Chapter 5: Annotations'];
if Bm.Handle <> nil then
begin
case Bm.Action of
acGoto: Pdf1.PageNumber := Bm.ActionPageNumber;
acUri: ShowMessage('URL bookmark');
acGotoRemote: ShowMessage('External PDF target');
end;
end
else
ShowMessage('No bookmark with that title.');
end;