Műveletgráf-vizsgálat és GoToE navigáció
A THPDFActionBuilder PDF 1.6 GoToE műveleteket hoz létre beágyazott vagy rokon PDF dokumentumokon belüli célokhoz, miközben a betöltött művelet API a mind a 18 szabványos PDF művelet-altípust végrehajtásuk nélkül olvassa
GoToE készítők
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;
Minden célútvonal-bejegyzést egy HPDFEmbeddedParentTarget, HPDFEmbeddedFileTarget vagy HPDFEmbeddedAnnotationTarget túlterheléssel építsen
Az EmbeddedFiles névfa révén kiválasztott gyermek /R /C plusz /N értéket ír, míg egy melléklet-jegyzet gyermek /R /C plusz a kötelező /P és /A párt ír
A szülő bejegyzések csak /R /P értéket írnak, a beágyazott bejegyzések rekurzív /T szótárakká válnak, és egy üres RootFileName nem üres célútvonalat követel meg
Delphi példa
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;
Betöltött műveletgráf
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;
A visszaadott tömb a végrehajtási sorrendet követi: a szülő művelet jelenik meg először, utána következnek a /Next szótárak vagy tömbelemek rendezett mélységi sorrendben
A THPDFLoadedActionInfo.Kind azonosítja a GoTo, GoToR, GoToE, Launch, Thread, URI, Sound, Movie, Hide, Named, SubmitForm, ResetForm, ImportData, JavaScript, SetOCGState, Rendition, Trans vagy GoTo3DView típust
A mag-operándusok cél-, fájl-, URI-, JavaScript-, cél-, művelet-, jelző-, kötet-, opcionális logikai és rokon objektum-mezőkre kerülnek dekódolásra
A NewWindow az obAbsent, obFalse vagy obTrue értékeket használja, így a hiányzó érték elkülönül egy kifejezett false értéktől
Az olvasó sosem hajt végre műveletet és sosem követ korlátlan gráfot
Hibás bejegyzések, ciklusok, ismétlődő megosztott csomópontok, 64 feletti mélység, 4096 feletti csomópontszám és túlméretezett /Next tömbök a Malformed és Issue mezőkön át diagnosztikai rekordokat adnak vissza
Jegyzet-láthatósági eseményindítók
A THPDFAnnotationActionTrigger és a THPDFAnnotationJavaScriptTrigger tartalmazza az oldal-nyitás /PO, oldal-zárás /PC, oldal-látható /PV és oldal-láthatatlan /PI bejegyzéseket
Ez a négy eseményindító a PDF 1.5-öt kezeli, miközben a meglévő egér- és fókusz-műveleti eseményindítók megtartják korábbi verziókövetelményeiket