Lesezeichenmethoden

Allgemeine Beispiele zur Verwendung der Klasse bookmark finden sie hier.

Letzte Änderung :
04.08.2025, 11:20 Uhr

Lesezeichenmethoden

static int bookmark::is_valid(ItemRef itemRef)

Zeigt die Referenz auf ein gültiges Lesezeichen?

Name Typ Default Beschreibung
Return int   1 : Die Referenz zeigt auf ein gültiges und existierendes Lesezeichen.

0 : Die Referenz ist ungültig und darf nicht als Lesezeichen verwendet werden.
itemRef ItemRef - Beliebige Referenz oder 0

Version 1.4.1 R383, 28. Juni 2007

priint:comet InDesign® Plug-Ins, comet_pdf

item::defined
comet.CBookmark.isValid

static int bookmark::create(
  ItemRef createdItem,
  ItemRef docRef,
  char* destDoc,
  int pageNum,
  char* name,
  char* parentName,
  int pos = -1,
  float zoomPercent = 0.0,
  int destType = 0,
  float zoomRLeft = 0.0,
  float zoomRTop = 0.0,
  float zoomRRight = 0.0,
  float zoomRBottom = 0.0)

Anlegen eines neuen Lesezeichens im Zieldokument.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
createdItem ItemRef - Allokierter Speicher für das erzeugte Lesezeichen.

0 : Ergebnis wird nicht benötigt
sonst : mit item::alloc reservierter Speicher
docRef ItemRef - Dokument, in dem das Lesezeichen angelegt werden soll.

0 : aktuelles Dokument
destDoc String oder char* - Zieldokument für das Lesezeichen. Im Moment wird dieser Parameter ignoriert. Verweise können nur innerhalb eines Dokumentes gemacht werden.
pageNum int - Zielseite für das Lesezeichen (1-basiert)
name String oder char* - Name des Lesezeichens
parentName String oder char* "" Name des übergeordneten Lesezeichens. Das letzte gefundene Lesenzeichen des gesuchten Namens wird als übergeordneter Eintrag verwendet. Sind die Namen von Lesezeichen nicht eindeutig, kann die Funktion add verwendet werden.

"" : Oberste Ebene
pos int -1 Position des Lesezeichens

-1 : Anfügen
sonst : 0-basierter Index im übergeordneten Lesezeichen (siehe position)
⇨ Nach der Auswahl eines Lesezeichens kann die Seitengröße geändert werden.
zoomPercent float 0.0 Skalierungsfactor für die Zielseite (1.0 entspricht 100%)

0.0 : Skalierung beibehalten
destType int kBookmarkDestXYZ Angaben zur Seitenpositionierung im Fensterrahmen. InDesign sieht dazu die folgenden (leider unkommentierten) Parameter vor :

kBookmarkDestXYZ
kBookmarkDestFit
kBookmarkDestFitH
kBookmarkDestFitV
kBookmarkDestFitR
kBookmarkDestFitB
kBookmarkDestFitBH
kBookmarkDestFitBV
⇨ Mit den folgenden Angaben können Sie den Ausschnitt der Zielseite festlegen. Allerdings stehen die Angaben im Zusammenhang mit zoomPercent und destType und bedeuten nicht zwangsläufig, dass genau das gegebene Zielrechteck gezeigt wird.
zoomRLeft float 0.0 linke Seite des Zielausschnittes
zoomRTop float 0.0 obere Seite des Zielausschnittes
zoomRRight float 0.0 rechte Seite des Zielausschnittes
zoomRBottom float 0.0 untere Seite des Zielausschnittes
#include "internal/types.h"

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

add
create2
add2
comet.CDocument.createBookmark

static int bookmark::create2(
  ItemRef createdItem,
  ItemRef docRef,
  ItemRef hyperlinkRef,
  char* name,
  char* parentName,
  int pos = -1)

Anlegen eines Lesezeichens zu einem existierenden Seitenziel. Als Sprungadresse werden die mit hyperlink::create erzeugten und mit hyperlink::destination erfragten Ziele erwartet.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
createdItem ItemRef - Allokierter Speicher für das erzeugte Lesezeichen.

0 : Ergebnis wird nicht benötigt
sonst : mit item::alloc reservierter Speicher
docRef ItemRef - Dokument, in dem das Lesezeichen angelegt werden soll.

0 : aktuelles Dokument
hyperlinkRef ItemRef - Ziel des Lesezeichens (hyperlink::destination auf einen mit hyperlink::create erzeugten Dokumentverweis)
name String oder char* - Name des Lesezeichens
parentName String oder char* "" Name des übergeordneten Lesezeichens. Das letzte gefundene Lesenzeichen des gesuchten Namens wird als übergeordneter Eintrag verwendet. Sind die Namen von Lesezeichen nicht eindeutig, kann die Funktion add verwendet werden.

"" : Oberste Ebene
pos int -1 Position des Lesezeichens

-1 : Anfügen
sonst : 0-basierter Index im übergeordneten Lesezeichen (siehe position)

Das Skript legt in seinem Textmodell an der Textposition 11-18 einen Verweis auf die Seite 5 an. Der Verweis bekommt den Namen des aktuellen Textes. Danach wird ein Lesezeichen mit dem gleichen Namen und dem gleichen Sprungziel Seite 5 angelegt. Das Lesezeichen liegt auf der obersten Ebene.

int main ()
{
    ItemRef		hy		= item::alloc ();
    ItemRef		dest	= item::alloc ();
    ItemRef		bk		= item::alloc ();
hyperlink::create (hy, 0, "", 5, "", 11, 18); bookmark::create2 (   bk,   0,   hyperlink::destination (dest, hy),   hyperlink::name (hy),   "");
return 0; }

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

create
add
add2

static int bookmark::add(
  ItemRef createdItem,
  ItemRef docRef,
  char* destDoc,
  int pageNum,
  char* name,
  ItemRef parentRef,
  int pos = -1,
  float zoomPercent = 0.0,
  int destType = 0,
  float zoomRLeft = 0.0,
  float zoomRTop = 0.0,
  float zoomRRight = 0.0,
  float zoomRBottom = 0.0)

Anlegen eines neuen Lesezeichens im Zieldokument als Unterelement eines gegebenen Lesezeichens. Die Funktion arbeitet analog zu der Funktion create mit dem einzigen Unterschied, dass das übergeordnete Lesezeichen über seine Referenz (ItemRef) und nicht über seinen Namen identifiziert wird.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
createdItem ItemRef - Allokierter Speicher für das erzeugte Lesezeichen.

0 : Ergebnis wird nicht benötigt
sonst : mit item::alloc reservierter Speicher
docRef ItemRef - Dokument, in dem das Lesezeichen angelegt werden soll.

0 : aktuelles Dokument
destDoc String oder char* - Zieldokument für das Lesezeichen. Im Moment wird dieser Parameter ignoriert. Verweise können nur innerhalb eines Dokumentes gemacht werden.
pageNum int - Zielseite für das Lesezeichen (1-basiert)
name String oder char* - Name des Lesezeichens
parentRef ItemRef - übergeordnetes Lesezeichen.

0 : obereste Ebene
pos int -1 Position des Lesezeichens

-1 : Anfügen
sonst : 0-basierter Index im übergeordneten Lesezeichen (siehe position)
⇨ Nach der Auswahl eines Lesezeichens kann die Seitengröße geändert werden.
zoomPercent float 0.0 Skalierungsfactor für die Zielseite (1.0 entspricht 100%)

0.0 : Skalierung beibehalten
destType int kBookmarkDestXYZ Angaben zur Seitenpositionierung um Fensterrahmen. InDesign® sieht dazu die folgenden (leider unkommentierten) Parameter vor :

kBookmarkDestXYZ
kBookmarkDestFit
kBookmarkDestFitH
kBookmarkDestFitV
kBookmarkDestFitR
kBookmarkDestFitB
kBookmarkDestFitBH
kBookmarkDestFitBV
⇨ Mit den folgenden Seiten können Sie den Ausschnitt der Zielseite festlegen. Allerdings stehen die Angaben im Zusammenhang mit zoomPercent und destType und bedeuten nicht zwangsläufig, dass genau das gegebene Zielrechtrechteck gezeigt wird.
zoomRLeft float 0.0 linke Seite des Zielausschnittes
zoomRTop float 0.0 obere Seite des Zielausschnittes
zoomRRight float 0.0 rechte Seite des Zielausschnittes
zoomRBottom float 0.0 untere Seite des Zielausschnittes
#include "internal/types.h"

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

create
create2
add2
comet.CBookmark.createBookmark

static int bookmark::add2(
  ItemRef createdItem,
  ItemRef docRef,
  ItemRef hyperlinkRef,
  char* name,
  ItemRef parentRef,
  int pos = -1)

Anlegen eines neuen Lesezeichens im Zieldokument als Unterelement eines gegebenen Lesezeichens. Die Funktion arbeitet analog der Funktion create2 mit dem einzigen Unterschied, dass das übergeordnete Lesezeichen über seine Referenz (ItemRef) und nicht über seinen Namen identifiziert wird.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
createdItem ItemRef - Allokierter Speicher für das erzeugte Lesezeichen.

0 : Ergebnis wird nicht benötigt
sonst : mit item::alloc reservierter Speicher
docRef ItemRef - Dokument, in dem das Lesezeichen angelegt werden soll.

0 : aktuelles Dokument
hyperlinkRef ItemRef - Ziel des Lesezeichens (hyperlink::destination auf einen mit hyperlink::create erzeugten Dokumentverweis)
name String oder char* - Name des Lesezeichens
parentRef ItemRef - übergeordnetes Lesezeichen.

0 : obereste Ebene
pos int -1 Position des Lesezeichens

-1 : Anfügen
sonst : 0-basierter Index im übergeordneten Lesezeichen (siehe position)

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

create
add
create2

static int bookmark::find(
  ItemRef foundRef,
  ItemRef docRef,
  char* name)

Suche nach einem benannten Lesezeichen in den Lesezeichen des Dokumentes.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
foundRef ItemRef - Allokierter Speicher für das Ergebnis
0 : ignorieren. In diesem Fall kann die Funktion dafür verwendet werden, zu testen ob ein bestimmtes Lesezeichen überhaupt existiert.
docRef ItemRef - Dokumentverweis
0 : aktuelles Dokument
name String oder char* - Name des gesuchten Lesezeichens. Sind die Namen der Lesezeichen nicht eindeutig, wird das letzte gefundene Lesenzeichen zurückgegeben.

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CDocument.getBookmarks

static int bookmark::level(ItemRef bookMarkRef)

Einrückung eines Lesezeichens ermitteln.

Name Typ Default Beschreibung
Return int   Einrücktiefe des Lesezeichens (0-basiert). Wurde das Lesezeichen nicht gefunden, wird 0 zurückgegeben.
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.getDepth

static char* bookmark::name(ItemRef bookMarkRef)

Namen eines Lesezeichens ermitteln.

Name Typ Default Beschreibung
Return char*   Name des Lesezeichens oder "" im Fehlerfall.

Der Rückgabewert darf nicht verändert werden und wird bei folgenden Aufrufen der Funktion überschrieben. Hier finden Sie Informationen zu readonly-Rückgaben von Funktionen.

bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.getName

static int bookmark::parent(ItemRef foundRef, ItemRef bookMarkRef)

übergeordnetes Lesezeichen eines Lesezeichens ermitteln.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
foundRef ItemRef - Allokierter Speicher für den übergeorneten Eintrag
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.getParent

static int bookmark::position(ItemRef foundRef)

Position eines Lesezeichens im übergeordneten Lesezeichen

Name Typ Default Beschreibung
Return int   0-basierte Position im übergeodneten Lesezeichen oder -1
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.getIndex

static int bookmark::childs(ItemRef bookMarkRef)

Anzahl der untergeodneten Lesezeichen eines Lesezeichens

Name Typ Default Beschreibung
Return int   Anzahl der untergeordneten Lesezeichen eines Lesezeichens oder 0 im Fehlerfall
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.getChildren

static int bookmark::nthchild(
  ItemRef foundRef,
  ItemRef bookMarkRef,
  int index)

Ermittle den n-ten Untereintrag eines Lesezeichens

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
foundRef ItemRef - Allokierter Speicher für den Untereintrag
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen
index int - 0-basierter Index des gesuchten Lesezeichens. Hat der Eintrag keine Unterlesezeichen, wird eine leere Referenz zurückgegeben. Ist der Index < 0, wird der erste Untereintrag zurückgegeben. Ist der Index größer oder gleich der Anzahl der Untereinträge, wird der letzte Eintrag zurückgegeben.

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.getChildren

static int bookmark::child(
  ItemRef foundRef,
  ItemRef bookMarkRef,
  char* name,
  int recursive = 0)

Ermittle den Untereintrag mit dem gegebenen Namen.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
foundRef ItemRef - Allokierter Speicher für den Untereintrag
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen
name String oder char* - Name des gesuchten Lesezeichens.
recursive int 0 0 : Nur die direkten Untereinträge durchsuchen. Der erste gefundene Eintrag wird zurückgegeben.

sonst : Alle Untereinträge durchsuchen. Der letzte Eintrag mit dem gefundenen Namen wird zurückgegeben.

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.getChildren

static int bookmark::goto_(ItemRef bookMarkRef)

Springe zum Verweisziel eines Lesezeichens

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

static int bookmark::change_pos(ItemRef bookMarkRef, int pos)

Ändere die Position eines Lesezeichens. Lesezeichen können nur innerhalb ihres übergeordneten Eintrages verschoben werden. Soll ein Lesezeichen einem anderen Obereintrag zugeordnet werden, verwenden Sie die Funktion change_parent.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen
pos int - Neue Position des Lesezeichens. Ist die Positionsangabe zu groß, wird das Lesezeichen auf die letzte Stelle verschoben.

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.setIndex

static int bookmark::change_name(ItemRef bookMarkRef, char* name)

Ändere den Namen eines Lesezeichens.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen
name String oder char* - Neuer Name des Lesezeichens

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.setName

static int bookmark::change_parent(
  ItemRef bookMarkRef,
  ItemRef parentRef = 0,
  int pos = -1)

Ordne das Lesezeichen einem anderen Obereintrag zu.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen
parentRef ItemRef - Neuer Obereintrag
0 : Verschiebe den Eintrag in die oberste Ebene
pos int -1 Position innerhalb der neuen Hierarchy
-1 : Anfügen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.setParent

static int bookmark::change_fontstyle(ItemRef bookMarkRef, int fstyle = 0)

Schriftstil des Lesezeichens ändern.

Von InDesign wird der Schriftstil in Lesezeichen nicht unterstützt! Die Funktion ist deshalb nur für comet_pdf implementiert. In anderen Umgebungen liefert die Funktion den Fehlercode -1199.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen
fstyle int 0 Schriftstil des Lesezeichens

normal : normal
bold : fett
italic : schräg
bold+italic : fett und schräg
#include "internal/text.h"

v4.1.8 R29650, 22. Dez. 2021

comet_pdf

static int bookmark::change_color(ItemRef bookMarkRef, ItemRef colorRef = 0)

Schriftfarbe des Lesezeichens ändern.

Von InDesign werden Farben in Lesezeichen nicht unterstützt! Die Funktion ist deshalb nur für comet_pdf implementiert. In anderen Umgebungen liefert die Funktion den Fehlercode -1199.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen
colorRef ItemRef 0 Gültige Farbreferenz

0 : Schwarz
sonst : Gültige RGB Farbe
#include "internal/text.h"

v4.1.8 R29650, 22. Dez. 2021

comet_pdf

color
comet.CBookmark.setColor

static int bookmark::remove(ItemRef bookMarkRef)

Lösche ein Lesezeichen aus dem Dokument. Die Skriptvariable bookMarkRef wird dabei nicht gelöscht, aber ihr Wert ist undefiniert.

Name Typ Default Beschreibung
Return int   0 oder Fehlercode
bookMarkRef ItemRef - Gültiger Verweis auf ein Lesezeichen

Plugin Version 1.3.4

priint:comet InDesign® Plug-Ins, comet_pdf

comet.CBookmark.remove

Das Beispiel demonstriert die Verwendung der bookmark-Funktionen. Nachdem das Skript ausgeführt ist, sollte der oberste Eintrag der Lesezeichenpalette so wie in der Abbildung aussehen :

int main ()
{
    ItemRef	bm	= item::alloc ();
    ItemRef	bm1	= item::alloc ();
    ItemRef	bm2	= item::alloc ();
    ItemRef	bm3	= item::alloc ();
wlog ("", "childs doc : %d\n", bookmark::childs (0));
bookmark::create (bm, 0, "", 1, "Inhaltsverzeichnis", "", 1); wlog ("", "name : %s\n", bookmark::name (bm)); bookmark::change_pos (bm, 0);
bookmark::add (bm1, 0, "", 1, "Leszeichen 1", bm); bookmark::add (bm2, 0, "", 2, "Leszeichen 2", bm); bookmark::add (bm3, 0, "", 3, "Leszeichen 3", bm);
bookmark::goto_ (bm3); bookmark::remove (bm3); wlog ("", "childs inhalt : %d\n", bookmark::childs (bm));
bookmark::change_parent (bm2, bm1);
bookmark::change_name (bm, "[A] Inhaltsverzeichnis"); wlog ("", "neuer name : %s\n", bookmark::name (bm));
return 0; }

Das Skript legt in seinem Textmodell an der Textposition 11-18 einen Verweis auf die Seite 5 an. Der Verweis bekommt den Namen des aktuellen Textes. Danach wird ein Lesezeichen mit dem gleichen Namen und dem gleichen Sprungziel Seite 5 angelegt. Das Lesezeichen liegt auf der obersten Ebene.

int main ()
{
    ItemRef		hy		= item::alloc ();
    ItemRef		dest	= item::alloc ();
    ItemRef		bk		= item::alloc ();
hyperlink::create (hy, 0, "", 5, "", 11, 18); bookmark::create2 (   bk,   0,   hyperlink::destination (dest, hy),   hyperlink::name (hy),   "");
return 0; }

Hier ein vollständige Beispiel zum Anlegen von Lesenzeichen in einem von comet_pdf erzeugten PDF. Das Skript setzt die Existenz von Rahmen mit festgelegten UID voraus. Eine passende Testdatei finden Sie hier. Mit der folgenden Terminal-Anweisung kann das Skript ausgeführt werden:

    /.comet_pdf -i \$DESKTOP/bm.w2ml -e \$DESKTOP\bookmarks.cpp -L

Hier ein Screenshot des Ergebnisses:

#include "internal/types.h"
#include "internal/text.h"
int main () { ItemRef head = item::alloc (); ItemRef bm = item::alloc (); ItemRef bb = item::alloc (); ItemRef hy = item::alloc (); ItemRef fr = item::alloc (); ItemRef colid = item::alloc (); IDTypeList anchors = idtypelist::alloc (-1); IDType anchor; Table T = table::alloc (); int i, start, len; ItemList hyperlinks;
color::define_rgb ("", 255, 128, 0, 0, colid);
// Create some book marks // bookmark::create (head, 0, 0, 1, "pg. 1"); // jump to pg 1 bookmark::change_fontstyle (head, bold+italic); bookmark::change_color (head, colid);
bookmark::create (bm, 0, 0, 2, "pg. 2", "pg. 1"); // jump to pg 2 bookmark::change_fontstyle (bm, bold); bookmark::create (bm, 0, 0, 3, "pg. 3", "pg. 1"); // jump to pg 3
bookmark::create (bm, 0, 0, 4, "Seite 4", "pg. 1", -1, 0.0, kBookmarkDestXYZ, 0.0, 263.0, 1.0, 300.0); bookmark::create (bm, 0, 0, 2, "Seite 2", "pg. 1"); bookmark::create (bm, 0, 0, 3, "Seite 3", "pg. 1"); bookmark::create (bm, 0, 0, 4, "Seite 4", "pg. 1");
bookmark::create (bm, 0, 0, 4, "pg. 4");
printf ("UID_AAA of 'a4' : %d\n", item::getint (bm)); bookmark::add (bm, 0, 0, 1, "Sivu 1", head); bookmark::change_fontstyle (bm, italic); bookmark::add (bm, 0, 0, 2, "Sivu 2", head); bookmark::add (bm, 0, 0, 3, "Sivu 3", head);
// Check bookmark functions //
// name bookmark::find (bm, 0, "pg. 4"); printf ("UID_BBB of '%s' : %d\n", bookmark::name (bm), item::getint (bm));
// parent bookmark::find (bm, 0, "Seite 2"); bookmark::parent (bb, bm); printf ("Parent of 'b2' is '%s' with UID %d\n", bookmark::name (bb), item::getint (bb)); printf ("'b2' has UID %d\n", item::getint (bm));
// childs bookmark::find (bm, 0, "pg. 1"); printf ("'a2' has %d children\n", bookmark::childs (bm));
// nthchild bookmark::nthchild (bb, bm, 2); printf ("3rd child of 'a2' is '%s\n", bookmark::name (bb));
// child bookmark::find (bm, 0, "pg. 1"); bookmark::child (bb, bm, "Seite 2", 0); printf ("'a1' has direct child 'b2' ? %d\n", item::getint (bb));
bookmark::child (bb, bm, "Seite 2", 1); printf ("'a1' has child 'b2' ? %d\n", item::getint (bb));
// is_valid printf ("%d is a valid book mark ? %d\n", item::getint (bb), bookmark::is_valid (bb)); item::define (bb, 0, 123, 0); printf ("%d is a valid book mark ? %d\n", item::getint (bb), bookmark::is_valid (bb));
// change_pos bookmark::find (bm, 0, "Seite 4"); bookmark::change_pos (bm, 3);
bookmark::find (bm, 0, "Seite 4"); bookmark::change_pos (bm, 0);
// change_name bookmark::find (bm, 0, "Seite 4"); bookmark::change_name (bm, "New name of 'Seite 4'");
// change_parent bookmark::find (bm, 0, "Seite 4"); bookmark::find (bb, 0, "Sivu 1"); bookmark::change_parent (bm, bb, 1);
// remove bookmark::find (bm, 0, "Sivu 1"); //bookmark::remove (bm);
// Create named destinations to some text and add bookmarks // item::define (fr, 0, 330); hyperlink::add_nameddest (hy, 0, fr, 1089, 0); printf ("AA-> hyperlink dest of uid %d created at text position 1089\n", item::getint (hy)); bookmark::create2 (bm, 0, hy, "occusamus", 0, -1);
hyperlink::add_nameddest (hy, 0, fr, 1697, 0); printf ("BB-> hyperlink dest of uid %d created at text position 1690\n", item::getint (hy)); bookmark::create2 (bm, 0, hy, "oditasim", 0, -1);
table::get (T, fr, 0); table::cell::get_textpos (T, 1, 2, &start, &len); hyperlink::add_nameddest (hy, 0, fr, start, 7); // inside a table printf ("CC-> hyperlink dest of uid %d created at text position %d\n", item::getint (hy), start); bookmark::create2 (bm, 0, hy, "AAAAA", 0, -1);
// Create named destinations to some frames and add bookmarks // item::define (fr, 0, 327); hyperlink::add_nameddest (hy, 0, fr, -1, 0); // frame printf ("hyperlink dest of uid %d created\n", item::getint (hy)); bookmark::create2 (bm, 0, hy, "Blue Frame", 0, -1);
item::define (fr, 0, 369); hyperlink::add_nameddest (hy, 0, fr, -1, 0); // frame bookmark::add2 (bb, 0, hy, "Yellow Frame", bm);
// Get anchors of frames // item::define (fr, 0, 327); if (hyperlink::get_nth (fr, -1, hy) == 0) { printf ("Frame %d has an named dest : '%s'\n", item::getint (fr), hyperlink::name (hy)); } else { printf ("Frame %d has no named anchor\n", item::getint (fr)); }
item::define (fr, 0, 330); if (hyperlink::get_nth (fr, -1, hy) == 0) { printf ("Frame %d has an named dest : '%s'\n", item::getint (fr), hyperlink::name (hy)); } else { printf ("Frame %d has no named anchor\n", item::getint (fr)); }
// Get hyperlinks of text // item::define (fr, 0, 330);
printf ("Frame %d has %d hyperlinks\n", item::getint (fr), hyperlink::count (fr));
hyperlinks = itemlist::hyperlinks (fr); printf ("Frame %d has %d hyperlinks\n", item::getint (fr), itemlist::length (hyperlinks)); for (i = 0; i < itemlist::length (hyperlinks); i++) { itemlist::get (hyperlinks, hy, i); start = hyperlink::get_pos (hy, &len, fr); printf (" %d : %d %d (%s) Type = %d\n", i+1, start, len, hyperlink::name (hy), hyperlink::type (hy)); }
return 0; }

Seit
Plugin Version 1.3.4
Letzte Änderung
04.08.2025, 11:20 Uhr
Autor
Paul Seidel
Siehe auch
hyperlink

Alphabetic index HTML hierarchy of classes or Java