Seite 1 von 2

zu Seite Springen mit this.pageNum

Verfasst: 23.09.2012, 12:30
von nahni
Hi,

ich hab ein PDF Dokument, bei dem die erste Seite so eine 3D Zeichnung ist und dann folgen einige weitere Seiten an Text.

Ich möchte nun von dieser ersten Seite aus, also der 3D Zeichnung, über this.pageNum zu bestimmten Seiten aus navigieren. Dies funktioniert aber leider nicht. Irgendwie wird immer einfach nur aus der Seite rausgezoomt und die Zeichnung zentriert oder so.

(Ich hab JS an das 3D-PDF "geheftet" über Rechtsklick -> 3D -> Skript und rufe dann
in diesem Skript eine Methode aus dem Dokumenten-Javascript auf. In diesem Dokumenten-Javascript steht dann auch der Befehl this.pageNum = 2 )

Wenn ich das ganze über einen Button auf einer anderen, "normalen" Seite mache funktioniert der Aufruf

Code: Alles auswählen

this.pageNum = 2;

kann mir jemand erklären warum und wie ich das zum Laufen bekomme?


zu Seite Springen mit this.pageNum

Verfasst: 23.09.2012, 15:02
von nahni
aktuell hat mein Dokument 4 Seiten, mit

Code: Alles auswählen

this.pageNum = 2;
sollte ich ja zur 3. Seite springen, was ja leider nicht funktioniert. Ich hab aber was seltsames rausgefunden:

Ausgangsposition ist, wie im letzten Post schon erwähnt, die erste Seite mit der 3D-Zeichnung. Nach dem this.pageNum = 2; wird nicht auf die 3. Seite gesprungen, allerdings wenn ich auf den Pfeil zum navigieren für die nächsten Seite drücke, komme ich direkt auf Seite 4 raus. (Seite 2 und 3 wurden also einfach übersprungen, als wäre ich bereits, wie eig gewollt auf Seite 3). Also iwie hat sich da was getan.

wenn ich

Code: Alles auswählen

this.pageNum = 1;
aufrufe, gelangen auch nach dem Drücken auf den Pfeil für die nächste Seite direkt auf Seite 3.

zu Seite Springen mit this.pageNum

Verfasst: 04.11.2012, 15:57
von nahni
also, wenn ich den Inhalt der 3D Zeichnung deaktiviere (rechtsklick -> Inhalt deaktivieren) dann funktioniert das ganze mit this.pageNum, also er springt dann
zur gewünschten Seite.

Jetzt ist die Frage, wie kann ich den Inhalt über Javascript deaktivieren?
Ich hab bis jetzt noch nicht den passenden Befehl gefunden.

zu Seite Springen mit this.pageNum

Verfasst: 05.11.2012, 17:48
von nahni
ich hab mit setView rumgespielt, in etwa so:

Code: Alles auswählen

c3d = this.getAnnots3D( 0 )[ 0].context3D;
c3d.runtime.setView(0,true);
oder

Code: Alles auswählen

c3d = this.getAnnots3D( 0 )[ 0].context3D;
c3d.runtime.setView("Initial configuration",true);

aber das ist nicht ganz das was ich suche. Das 3D-Teil wird dann nur in die Ausgangsposition gedreht.

Weiß noch nicht ob ich nur einen anderen Parameter für die View brauche (hab die jetzt einfach mal durch Raten eingesetzt, wo die aufgelistet sind hab ich leider noch nicht gefunden) oder eine andere Methode.


zu Seite Springen mit this.pageNum

Verfasst: 05.11.2012, 21:38
von Merklin
Hallo,

muss es den unbedingt über ein Script laufen?
Warum nimmst du nicht einfach "Gehe zu Seitenansicht".

VG Merklin

zu Seite Springen mit this.pageNum

Verfasst: 05.11.2012, 21:43
von nahni
der Nutzer soll durch klick auf einen Button in einer DialogBox zu einer bestimmten Seite springen können.
Ich habe keine andere Möglichkeit gefunden, als das mit Javascript zu realisieren.




zu Seite Springen mit this.pageNum

Verfasst: 05.11.2012, 21:57
von Merklin
Hi,

ach so.
Würde es den funktionieren, wenn du so einen Button einbaust?
Wenn ja, könnte man ihn auf "Unsichtbar" setzen und mit "setAction" auslösen.

Heute ist es mir aber schon zu spät, werde es mal morgen ausprobieren.
Wenn es den bei dir geht.

VG Merklin

zu Seite Springen mit this.pageNum

Verfasst: 06.11.2012, 07:34
von nahni
ja gut, daran hatte ich schon gedacht, aber ich fands etwas unschön. Aber wenns nicht anders geht, ist mir glaub mittlerweile alles recht ;-)

Ich werds auch mal heute abend ausprobieren. Muss erst schauen ob dann der Button mit gehe zu Seitenansicht überhaupt greift, nicht dass der auch nicht funktioniert, weil der 3D Inhalt das stört oder so.

zu Seite Springen mit this.pageNum

Verfasst: 06.11.2012, 16:47
von Merklin
Hallo,

muss mich leider korrigieren.
Mit "setAction" kann man doch keine Aktion auslösen, wie ich erst dachte.

Habe nun dieses Beispiel gefunden. Ist zwar auch nicht so ganz, das Gelbe vom Ei.
Aber immerhin eine Möglichkeit.

Probiere es mal.

VG Merklin

zu Seite Springen mit this.pageNum

Verfasst: 06.11.2012, 17:09
von nahni
danke, aber das gibt leider das Gleiche Ergebnis wie this.pagenum:
Funktioniert auf allen Seiten bis auf der wo es aufgerufen werden soll, nämlich der mit dem 3D Inhalt.
Auch komplett gleiches Bild: 3D zoomt raus, dreht sich in Grundstellung...

also funktioniert auch nicht.

Das kann doch nicht sein. Der 3D Inhalt kann das doch nicht so blockieren.