property Bookmark[const Title: WString]: TBookmark; // read only
PDF outline'ı (Acrobat gibi görüntüleyicilerde document outline veya "bookmark" olarak da bilinir), kullanıcının kenar panelinden gezindiği adlandırılmış girdilerden oluşan hiyerarşik bir ağaçtır. Her girdinin bir başlığı, isteğe bağlı bir hedef veya action'ı ve sıfır ya da daha fazla alt öğesi vardır. PDFium Delphi Component, ağacı; altta yatan FPDF_BOOKMARK tanıtıcısını ve önceden çözülmüş başlık, hedef sayfa numarası, action türü ile action hedefini koruyan bir TBookmark kayıtları dizisine düzleştirir
String indeksli Bookmark biçimi, tüm outline ağacında (derinlik öncelikli) büyük/küçük harf duyarlı bir arama yapar ve eşleşen ilk düğümü döndürür. Bu başlıkla bir girdi yokken döndürülen kayıt Handle = nil ve PageNumber = 0 olur — gezinmeden önce Handle'ı kontrol edin
Doküman sırasındaki her düğümü numaralandırmak için Bookmarks'ı, bir seviye içeriğe inmek için BookmarkChildren'ı, ham bir tanıtıcıyı (örneğin görüntüleyici tarafında bir tıklama hit-test'inden gelen) doldurulmuş bir kayda çevirmek için BookmarkFrom'u kullanın
| Title | WString. Eşleştirilecek tam bookmark başlığı. Karşılaştırma büyük/küçük harf duyarlı ve birebirdir (alt string veya joker eşleştirme yoktur). Başlıktaki boşluklar ve noktalama, PDF outline'ında saklandığı gibi birebir yeniden üretilmelidir |
Action alanı, bookmark etkinleştirildiğinde nasıl davrandığını belirtir — acGoto doküman içindeki ActionPageNumber'a atlar, acGotoRemote başka bir PDF dosyasını hedefler, acUri bir URL açar, acLaunch harici bir dosyayı çalıştırır, acUnsupported ise PDFium'un hedefi yorumlayamadığı anlamına gelir0 olarak bildirilir
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;