Fragenkatalog zu Acrobat 9 Pro Extended

Fragen & Antworten zur Steuerung von 3D Inhalten in PDFs über JavaScript
Benutzeravatar
mkti
Beiträge: 27
Registriert: 18.07.2008, 20:57

Fragenkatalog zu Acrobat 9 Pro Extended

Beitrag von mkti » 25.03.2009, 15:42

Hallo Ihr verzweifelten,

Louis, Du hattest mich per PM gefragt, was ich schon alles versucht habe um an eine in Acrobat per Javascript bedienbare Animation zu kommen. Da es möglicherweise noch andere da draussen gibt, die sich an diesem Problem die Zähne ausbeissen, will ich hier (kurz) berichten was ich bisher versucht habe und was am Ende dabei herauskam.

Test 1: Testanimation aus 3D Reviewer per Exportieren (alle möglichen Formate) in PDF gewandelt.

Ergebnis 1: Alle Formate kommen in PDF MIT ANIMATION an. Soweit sogut!
ABER: U3D und U3D ECMA zeigen nicht meine Animation sondern rotieren das komplette Modell um die Z-Achse und zwar in Endlosschleife. Interessanterweise kann hier dann per Schieberegler eine einzelne Sequenz angefahren werden aussederm ist es möglich, über die Eigenschaften des 3D Fensters (unter Register 3D) Die Animation Endlos, oder im Bouncemodus ablaufen zu lassen oder durch Auswahl "keine" komplett abzuschalten.
[line]Liebe Adobler hier wäre eine Einstellung "EINMALIG" sehr hilfreich!!!
[line]Alle anderen (richtigen) Animationen laufen in Endlosschleife, es ist nicht möglich,
den Schieberegler zu verwenden und die Einstellungen zum Animationsstil in den Eigenschaften des 3D Fensters werden KOMPLETT IGNORIERT!
[line]Test 2: Aus Vorlagen PDF "a3drtemplate_03.pdf" das Javascript einer Schaltfläche z.B. StopAnimation herauskopiert und dieses einer - in einer PDF mit richtig wenn auch endlos ablaufender Animation - selbst erstellten Schaltfläche als Aktion zugewiesen.

Ergebnis 2:
Diese Vorhehensweise funktioniert nicht!!!
Wahrscheinlich ist ein zusätzliches übergeordnetes Globales Script erforderlich. ein solches konnte ich jedoch in der Vorlagen PDF von Acrobat nirgends finden.
[line]Test 3: Reviewer benden und auf Andi´s PlugIn warten.

Ergebnis 3: Stressfaktor nimmt schlagartig ab ... hoffentlich ;)

Es grüßt:
Michael

Nachtrag zu Test 2:

Also ich habe noch keine wirkliche Ahnung warum aber jetzt funktioniert es doch.
Meine eigenen Schaltflächen steurn die Animation und sie läuft nur einmal durch - eben so wie es sein sollte. Wie ich festgestellt habe, duldet aber die Steuerung per Javascript wohl keine paralellen Steuerungsversuche über den Schieberegler denn dann schaltet die Voreinstellung des Animationsstils auf "keine" und dann zeigen auch die Schaltflächen keinerlei Wirkung. Seltsamerweise funktionieren jetzt hier auch die Voreinstellungen zum Animationsstil ... seehr mysteriös ....

ich werde weiter testen und forschen und berichten uund natürlich warten auf Dein PlugIn Andi. ;)

Gruß:
Michael



Benutzeravatar
mkti
Beiträge: 27
Registriert: 18.07.2008, 20:57

Fragenkatalog zu Acrobat 9 Pro Extended

Beitrag von mkti » 02.04.2009, 16:41

Hallo ihr ACROBATen,

so ... nun geht´s an eingemachte!
Nachdem wie in separatem Post berichtet, nun  die 3D Javascript Referenz for Acro 9
vorliegt, ist schluss mit Spielchen. Nun wird Produziert...

Aufgabenstellung:

Der Anwender soll ein PDF erhalten, in der sich zunächst nur 2 Schaltflächen und ein Textfeld befinden.
Eine der Schaltflächen (Demontage) "spult" zunächst die enthaltene Animation auf den Anfang und spielt dann die Animation EINMAL bis zum Ende ab. Soweit Sogut.
Die andere Schaltfläche "spult" die Animation ans Ende und spielt dann die Animation
EINMAL rückwärts ab. Auch das klappt soweit.
In dem Textfeld werden Informationen zu den im3D Fenster angeklickten Teilen gezeigt. Auch dies ist realisiert.
Nun hätte ich aber gerne, dass mit dem Starten der Animation zwei weitere Schaltflächen eingeblendet werden über die die Animation angehalten und wieder fortgesetzt werden kann. Sobald die Animation beendet ist, sollen diese zusatzfelder wieder verschwinden.

Und hier hänge ich nun. Ich hab das script, das die Animationen (Montage bzw Demontage) startet um die Funktionen ergänzt, die beiden zusätzlichen Buttons zunächst einzublenden, dann die Animation zu starten und dann die Zusatzbuttons wieder auszublenden. Die Zusatzbuttons habe ich natürlich über die Buttoneigenschaften auf ausblenden gestellt.
Wenn ich nun die PDF aufrufe dann läuft - da ich das 3D Fenster mit Aufruf der Seite aktivieren lasse -zunächst die Animation von alleine los. Das ist nicht schön aber das ist wohl eine andere Nuss, die ich im Rahmen dieses Projektes zu knacken habe. Jedenfalls habe ich es schon geschafft, dass die Animation dann wirklich nur Einmal läuft.
So wenn ich nun eine der  Schaltflächen betätige, dann werden tatsächlich auch die Zusatzbuttons eingeblendet. und meine Animation gestartet. Da mir der Debugger dann aber gleich die Meldung
"RangeError: Ungültiger Argumentwert.
Field.display:12:Field Demontagefunktion2:Mouse Up"
auswirft, scheint hier irgend etwas nicht zu stimmen. Aber ich komm eifach nicht dahinter was. Jedenfalls werden dann die Buttons auch nicht mehr ausgeblendet. Hier nun der Code der mit Klicken der Schaltfläche "Demontage" ausgeführt wird.

Code: Alles auswählen

var s = this.getField("Stopp");
var p = this.getField("Play");

function Zeige()
{
s.display = display.visible;
p.display = display.visible;
}

function Verberge()
{
s.display = display.invisible;
p.display = display.invisible;
}

var a3d = getAnnots3D(0)[0];
if ( a3d.activated )
{
        
       Zeige()
        var PrDocument=a3d.context3D.theDocument;
    if (PrDocument){PrDocument.goToStart();}
    if (PrDocument){PrDocument.play();}
       Verberge()
}
Seltsamerweise steht nach ausführen des Codes in den Eigenschaften der Zusatzbuttons die Einstellung dann auf "sichtbar"

Nachdem ich testweise einen Consolebefehl integriert habe, stellte ich fest dass der Code nach dem Playaufruf direkt im Anschluss aufgerufen wird. Irgendwie dachte ich, der Code wird erst dann ausgeführt wenn die Animation beendet ist.
Leider konnte ich nirgends finden, wie ich per Javascript anfrage ob die Animation beendet ist. Das wäre dann zunächst das zweite zu lösende Problem denn schließlich sollen die Zusatzbuttons solange sichtbar sein, wie die Animation läuft.

Also Ihr Experten, kann mir jemand sagen warum das mit dem Ein- und vorallem den Ausblenden der Zusatzbuttons nicht funktioniert und ggf. wie ich abfragen kann, ob die Animation beendet ist?

Bin für jeden Hinweis dankbar.

Gruß: Michael.

Achja, sorry dass das schon wieder sooo viel Text ist aber kürzer kann ichs nicht erklären.

Benutzeravatar
mkti
Beiträge: 27
Registriert: 18.07.2008, 20:57

Fragenkatalog zu Acrobat 9 Pro Extended

Beitrag von mkti » 09.04.2009, 20:43

Hallo,

bitte verzeiht, dass dies hier langsam zu einem Monolog ausartet aber ich hatte ja angedroht, zu berichten wie meine weiteren Versuche ausgefallen sind.

Also, mein Dokument ist soweit fertig. Es beinhaltet wie erwähnt zunächst zwei Schaltflächen und ein Textfeld. Im Textfeld werden die Informationen zu den angeklickten Teilen angezeigt. Die Schaltflächen starten die Animation einmal vorwärts (Demontage) und einmal rückwärts (Montage) Den Schaltflächen habe ich zusätzlich noch den Befeh mitgegeben vor dem Start der Animation auf den jeweiligen Anfang zu "spulen".
Das Betätigen einer der Schaltflächen blendet eine Schaltfläche ein, mit der die Animation gestoppt werden kan. Das  betätigen der Stoppfunktion blendet eine Schaltfläche ein, mit der die Animation wieder fortgesetzt werden kann.

Geplant ist eigentlich, dass die beiden nachträglich eingeblendeten Schaltflächen wieder ausgeblendet werden, sobald die Animation beendet ist. Da ich hierzu aber noch keine Syntax finden konnte, habe ich das ganze zunächst mit einem Timeout realisiert. Dies funktioniert auch soweit hat aber den kleinen Schönheitsfehler, dass der Timeout auch weiterläuft wenn der Anwender die Animation stoppt. Und nach Ablauf des Timeouts werden die Schaltflächen ausgeblendet und der Anwender hat somit nur noch die Möglichkeit, die Animationen erneut von vorne bzw. hinten zu starten. Deshalb bräuchte ich dringend eine Tipp, wie ich per Javascript abfragen kann, ob eine Animation beendet ist und ich dann hierüber das Ausblenden steuere.
Alle die es interessiert, wie mein Dokument aktuell aussieht, können es hier
herunterladen

Schöne Grüße und frohe Ostern:
Michael

Minddiver
Beiträge: 30
Registriert: 22.02.2009, 11:33

Fragenkatalog zu Acrobat 9 Pro Extended

Beitrag von Minddiver » 13.04.2009, 08:22

Moin Michael,

schaut nicht schlecht aus. Auch dein Layout der PDF.



Minddiver
Beiträge: 30
Registriert: 22.02.2009, 11:33

Fragenkatalog zu Acrobat 9 Pro Extended

Beitrag von Minddiver » 13.04.2009, 08:33

Kann mir einer sagen wie das mit der JV Referenz funktionieren soll, ich kann das nicht installieren bzw. es tut sich nichts..

Antworten