zu Seite Springen mit this.pageNum

Fragen & Antworten zur Steuerung von 3D Inhalten in PDFs über JavaScript
nahni
Beiträge: 30
Registriert: 30.06.2012, 00:13

zu Seite Springen mit this.pageNum

Beitrag von nahni » 23.09.2012, 12:30

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?


nahni
Beiträge: 30
Registriert: 30.06.2012, 00:13

zu Seite Springen mit this.pageNum

Beitrag von nahni » 23.09.2012, 15:02

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.

nahni
Beiträge: 30
Registriert: 30.06.2012, 00:13

zu Seite Springen mit this.pageNum

Beitrag von nahni » 04.11.2012, 15:57

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.

nahni
Beiträge: 30
Registriert: 30.06.2012, 00:13

zu Seite Springen mit this.pageNum

Beitrag von nahni » 05.11.2012, 17:48

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.


Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

zu Seite Springen mit this.pageNum

Beitrag von Merklin » 05.11.2012, 21:38

Hallo,

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

VG Merklin

nahni
Beiträge: 30
Registriert: 30.06.2012, 00:13

zu Seite Springen mit this.pageNum

Beitrag von nahni » 05.11.2012, 21:43

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.




Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

zu Seite Springen mit this.pageNum

Beitrag von Merklin » 05.11.2012, 21:57

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

nahni
Beiträge: 30
Registriert: 30.06.2012, 00:13

zu Seite Springen mit this.pageNum

Beitrag von nahni » 06.11.2012, 07:34

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.

Benutzeravatar
Merklin
Beiträge: 1857
Registriert: 04.04.2009, 17:03

zu Seite Springen mit this.pageNum

Beitrag von Merklin » 06.11.2012, 16:47

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
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

nahni
Beiträge: 30
Registriert: 30.06.2012, 00:13

zu Seite Springen mit this.pageNum

Beitrag von nahni » 06.11.2012, 17:09

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.

Antworten