Inspekcija grafikona akcija i GoToE navigacija

THPDFActionBuilder kreira PDF 1.6 GoToE akcije za destinacije unutar ugrađenih ili povezanih PDF dokumenata, dok API za učitane akcije čita svih 18 standardnih PDF podtipova akcija bez njihovog izvršavanja

GoToE graditelji

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 ciljne putanje pomoću HPDFEmbeddedParentTarget, HPDFEmbeddedFileTarget ili HPDFEmbeddedAnnotationTarget preopterećenja

Potomak izabran kroz stablo imena EmbeddedFiles upisuje /R /C plus /N, dok potomak anotacije priloga upisuje /R /C plus obavezan par /P i /A

Unosi roditelja upisuju samo /R /P, ugnježdeni unosi postaju rekurzivni /T rečnici, a prazan RootFileName zahteva nepraznu ciljnu putanju

Delphi primer

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čitan grafikon 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ćeni niz prati redosled izvršavanja: akcija roditelja pojavljuje se prva, a zatim svaki /Next rečnik ili član niza po uređenom redosledu dubine-prvo

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

Jezgri operandi se dekodiraju u polja destinacije, fajla, URI-ja, JavaScript-a, cilja, operacije, zastavice, volumena, opcionalnog bulova i povezanih objekata

NewWindow koristi obAbsent, obFalse ili obTrue tako da nedostajuća vrednost ostaje različita od eksplicitne vrednosti false

Čitač nikada ne izvršava akciju i nikada ne prati neograničeni grafikon

Neispravni unosi, ciklusi, ponovljeni deljeni čvorovi, dubina preko 64, broj čvorova preko 4096 i predugački /Next nizovi vraćaju dijagnostičke zapise preko Malformed i Issue

Okidači vidljivosti anotacija

THPDFAnnotationActionTrigger i THPDFAnnotationJavaScriptTrigger uključuju unose otvaranja-stranice /PO, zatvaranja-stranice /PC, vidljive-stranice /PV i nevidljive-stranice /PI

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

Vidi takođe