Επιθεώρηση γραφήματος ενεργειών και πλοήγηση GoToE

Το THPDFActionBuilder δημιουργεί ενέργειες GoToE PDF 1.6 για προορισμούς εντός ενσωματωμένων ή συγγενικών εγγράφων PDF, ενώ το API φορτωμένων ενεργειών διαβάζει και τους 18 τυπικούς υποτύπους ενεργειών PDF χωρίς να τους εκτελεί

Κατασκευαστές 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;

Δημιουργήστε κάθε καταχώρηση διαδρομής προορισμού με μια υπερφόρτωση HPDFEmbeddedParentTarget, HPDFEmbeddedFileTarget ή HPDFEmbeddedAnnotationTarget

Ένα θυγατρικό που επιλέγεται μέσω του δέντρου ονομάτων EmbeddedFiles εγγράφει /R /C συν /N, ενώ ένα θυγατρικό σχολιασμού συνημμένου εγγράφει /R /C συν το απαιτούμενο ζεύγος /P και /A

Οι γονικές καταχωρήσεις εγγράφουν μόνο /R /P, οι ένθετες καταχωρήσεις γίνονται αναδρομικά λεξικά /T και ένα κενό RootFileName απαιτεί μη κενή διαδρομή προορισμού

Παράδειγμα Delphi

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;

Φορτωμένο γράφημα ενεργειών

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;

Ο επιστρεφόμενος πίνακας ακολουθεί τη σειρά εκτέλεσης: η γονική ενέργεια εμφανίζεται πρώτη, έπονται δε κάθε λεξικό /Next ή μέλος πίνακα σε διατεταγμένη βάθος-πρώτα ακολουθία

Το THPDFLoadedActionInfo.Kind αναγνωρίζει GoTo, GoToR, GoToE, Launch, Thread, URI, Sound, Movie, Hide, Named, SubmitForm, ResetForm, ImportData, JavaScript, SetOCGState, Rendition, Trans ή GoTo3DView

Οι βασικοί τελεστές αποκωδικοποιούνται σε πεδία προορισμού, αρχείου, URI, JavaScript, στόχου, λειτουργίας, σημαίας, τόμου, προαιρετικής λογικής τιμής και συγγενικών αντικειμένων

Το NewWindow χρησιμοποιεί obAbsent, obFalse ή obTrue ώστε μια ελλιπής τιμή να παραμένει διακριτή από μια ρητή τιμή false

Ο αναγνώστης δεν εκτελεί ποτέ μια ενέργεια και δεν ακολουθεί ποτέ ένα απεριόριστο γράφημα

Κακοσχηματισμένες καταχωρήσεις, κύκλοι, επαναλαμβανόμενοι κοινοί κόμβοι, βάθος άνω του 64, πλήθος κόμβων άνω του 4096 και υπερμεγέθεις πίνακες /Next επιστρέφουν διαγνωστικές εγγραφές μέσω των Malformed και Issue

Εναύσματα ορατότητας σχολιασμών

Τα THPDFAnnotationActionTrigger και THPDFAnnotationJavaScriptTrigger περιλαμβάνουν καταχωρήσεις ανοίγματος-σελίδας /PO, κλεισίματος-σελίδας /PC, ορατής-σελίδας /PV και αόρατης-σελίδας /PI

Αυτά τα τέσσερα εναύσματα διαπραγματεύονται το PDF 1.5, ενώ τα υφιστάμενα εναύσματα ενεργειών ποντικιού και εστίασης διατηρούν τις προηγούμενες απαιτήσεις έκδοσής τους

Δείτε επίσης