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