Inspekcija grafa akcija i navigacija GoToE

THPDFActionBuilder stvara akcije GoToE PDF-a 1.6 za odredišta unutar ugrađenih ili povezanih PDF dokumenata, dok API učitanih akcija čita svih 18 standardnih podtipova akcija PDF-a bez njihova izvršavanja

Graditelji GoToE

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;

Gradite svaki unos ciljnog puta pomoću HPDFEmbeddedParentTarget, HPDFEmbeddedFileTarget ili preopterećenja HPDFEmbeddedAnnotationTarget

Sadržni element odabran stablom imena EmbeddedFiles zapisuje /R /C plus /N, dok sadržni element napomene-priloge zapisuje /R /C plus zahtijevani par /P i /A

Nadređeni unosi zapisuju samo /R /P, ugniježđeni unosi postaju rekurzivni rječnici /T, a prazno RootFileName zahtijeva neprazan ciljni put

Primjer u Delphiju

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;

Učitani graf akcija

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;

Vraćeno polje slijedi redoslijed izvršavanja: nadređena akcija pojavljuje se prva, a zatim svaki član rječnika ili polja /Next u uređenom slijedu po dubini

THPDFLoadedActionInfo.Kind identificira GoTo, GoToR, GoToE, Launch, Thread, URI, Sound, Movie, Hide, Named, SubmitForm, ResetForm, ImportData, JavaScript, SetOCGState, Rendition, Trans ili GoTo3DView

Osnovni operandi dekodiraju se u polja odredišta, datoteke, URI-ja, JavaScripta, cilja, operacije, oznake, volumena, neobavezne logičke vrijednosti i povezanog objekta

NewWindow koristi obAbsent, obFalse ili obTrue, pa nedostajuća vrijednost ostaje različita od izričite vrijednosti false

Čitač nikada ne izvršava akciju i nikada ne slijedi neograničeni graf

Neispravni unosi, ciklusi, ponovljeni dijeljeni čvorovi, dubina iznad 64, broj čvorova iznad 4096 i prevelika polja /Next vraćaju dijagnostičke zapise preko Malformed i Issue

Okidači vidljivosti napomena

THPDFAnnotationActionTrigger i THPDFAnnotationJavaScriptTrigger obuhvaćaju unose otvaranja stranice /PO, zatvaranja stranice /PC, vidljivosti stranice /PV i nevidljivosti stranice /PI

Ova četiri okidača pregovaraju PDF 1.5, dok postojeći okidači akcija miša i fokusa zadržavaju svoje ranije zahtjeve verzija

Vidi također