Eylem Grafiği İncelemesi ve GoToE Gezinmesi

THPDFActionBuilder, gömülü veya ilişkili PDF belgeleri içindeki hedefler için PDF 1.6 GoToE eylemleri oluştururken, yüklenmiş eylem API'si 18 standart PDF eylem alt türünü bunları çalıştırmadan okur

GoToE oluşturucuları

class function GoToEmbeddedNamedDestination(
  const RootFileName, DestinationName: AnsiString;
  const TargetPath: array of THPDFEmbeddedTarget;
  NewWindow: boolean = false): THPDFActionBuilder;

class function GoToEmbeddedPage(
  const RootFileName: AnsiString;
  TargetPageIndex: Integer;
  const TargetPath: array of THPDFEmbeddedTarget;
  FitMode: THPDFDestinationFitMode = dfmFit;
  Left: Single = 0; Top: Single = 0;
  Right: Single = 0; Bottom: Single = 0;
  Zoom: Single = 0; NewWindow: boolean = false): THPDFActionBuilder;

Her hedef yolu girişini bir HPDFEmbeddedParentTarget, HPDFEmbeddedFileTarget veya HPDFEmbeddedAnnotationTarget aşırı yüklemesi ile oluşturun

EmbeddedFiles ad ağacı aracılığıyla seçilen bir alt öğe /R /C artı /N yazarken, bir ek açıklama alt öğesi /R /C artı zorunlu /P ve /A çiftini yazar

Üst girişler yalnızca /R /P yazar, iç içe girişler özyinelemeli /T sözlükleri olur ve boş bir RootFileName boş olmayan bir hedef yolu gerektirir

Delphi örneği

var
  Action: THPDFActionBuilder;
  Targets: THPDFEmbeddedTargetArray;
begin
  SetLength(Targets, 2);
  Targets[0] := HPDFEmbeddedFileTarget('chapter.pdf');
  Targets[1] := HPDFEmbeddedParentTarget;
  Action := THPDFActionBuilder.GoToEmbeddedNamedDestination(
    'containers\root.pdf', 'EmbeddedStart', Targets, True);
  try
    HotPDF.CurrentPage.SetAnnotationAction(Annot, Action);
  finally
    Action.Free;
  end;
end;

Yüklenmiş eylem grafiği

function GetLoadedActionChain(ActionObject: THPDFObject): THPDFLoadedActionInfoArray;
function GetLoadedOpenActionChain: THPDFLoadedActionInfoArray;
function GetLoadedDocumentActionChain(ActionType: THPDFActionScriptType): THPDFLoadedActionInfoArray;
function GetLoadedPageActionChain(PageIndex: Integer; Trigger: THPDFPageActionTrigger): THPDFLoadedActionInfoArray;
function GetLoadedAnnotationPrimaryActionChain(PageIndex, AnnotationIndex: Integer): THPDFLoadedActionInfoArray;
function GetLoadedAnnotationActionChain(PageIndex, AnnotationIndex: Integer; Trigger: THPDFAnnotationActionTrigger): THPDFLoadedActionInfoArray;
function GetLoadedFormFieldActionChain(FieldIndex: Integer; Trigger: THPDFFormFieldActionTrigger): THPDFLoadedActionInfoArray;
function GetLoadedOutlineActionChain(OutlineIndex: Integer): THPDFLoadedActionInfoArray;

Döndürülen dizi yürütme sırasını izler: üst eylem önce görünür, ardından sıralı derinlik öncelikli düzende her /Next sözlüğü veya dizi üyesi gelir

THPDFLoadedActionInfo.Kind, GoTo, GoToR, GoToE, Launch, Thread, URI, Sound, Movie, Hide, Named, SubmitForm, ResetForm, ImportData, JavaScript, SetOCGState, Rendition, Trans veya GoTo3DView öğesini tanımlar

Çekirdek işlenenler hedef, dosya, URI, JavaScript, hedef, işlem, bayrak, birim, isteğe bağlı boole ve ilişkili nesne alanlarına deşifre edilir

NewWindow, obAbsent, obFalse veya obTrue kullanır; böylece eksik bir değer açık bir false değerinden ayrı kalır

Okuyucu hiçbir zaman bir eylemi çalıştırmaz ve hiçbir zaman sınırsız bir grafiği izlemez

Bozuk girişler, döngüler, yinelenen paylaşılan düğümler, 64'ü aşan derinlik, 4096'yı aşan düğüm sayısı ve aşırı büyük /Next dizileri Malformed ve Issue aracılığıyla tanılama kayıtları döndürür

Ek açıklama görünürlük tetikleyicileri

THPDFAnnotationActionTrigger ve THPDFAnnotationJavaScriptTrigger, sayfa açma /PO, sayfa kapatma /PC, sayfa görünür /PV ve sayfa görünmez /PI girişlerini içerir

Bu dört tetikleyici PDF 1.5 için görüşürken, mevcut fare ve odak eylem tetikleyicileri daha önceki sürüm gereksinimlerini korur

Ayrıca bkz.