Automotive - Ersatzteilbestellung Bremse

Verschiedenste Beispiele rund um 3D PDFs
acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 06.10.2006, 07:28

Ein sehr schönes Beispiel auf der Adobe Webseite, das eine der super Möglichkeiten zeigt, 3D-PDFs effektiv einzusetzen. Dieses Beispiel beruht auf dynamischen Formularen, die es ermöglichen über das selektieren von Teilen im 3D eine ersatzteilbestellung zusammen zu stellen.

Hier der Link:

http://www.acrobat3d.de/pdf/Adobe_Acrobat_3D_global-corp.pdf

Tomm
Beiträge: 5
Registriert: 29.11.2006, 04:24

Automotive - Ersatzteilbestellung Bremse

Beitrag von Tomm » 29.11.2006, 09:26

Hallo,
eigentlich sollte man ja Teile selektieren können. Geht bei mir nicht! Schade.
Tomm

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 06.12.2006, 12:59

Hi,

erste Frage: Werden die Teile in nem anderen Shading Mode dargestellt?
zweite Frage: Ist unter "Bearbeiten > Grundeinstellungen > JavaScript" die Option "Acrobat JavaScript aktiveren"  angeschalten?
Ansonsten würd mir jetzt erst mal auch nix mehr dazu einfallen.

Gruß,
Andreas Vogel

Tomm
Beiträge: 5
Registriert: 29.11.2006, 04:24

Automotive - Ersatzteilbestellung Bremse

Beitrag von Tomm » 08.12.2006, 08:26

Hallo,
die ShadingModes  werden gut dargestellt.
Javascript ist aktiviert.
Schwamm drüber.
Gruß Tom

Heiko
Beiträge: 79
Registriert: 05.04.2007, 13:37

Automotive - Ersatzteilbestellung Bremse

Beitrag von Heiko » 11.04.2007, 13:11

Sehr geehrter Herr Vogel

das Beispiel zur Ersatzteilbestellung find ich sehr interessant.
Ich habe gesehen, dass die verschiedenen Produktdaten in einem
Array in der XML-Quelle eingetragen sind.
Meine Frage ist ob es auch möglich ist, diese Informationen aus einer Datenbank zu
holen? Für sieben Teile geht das natürlich schon wie im Beispiel augeführt problematisch wird es aber wenn mehr Teile die auch noch Änderungen unterzogen sind gehandhabt werden müssen.
Für Anregungen wäre ich sehr dankbar.

Mit freundlichen Grüßen
Heiko Winkler

Heiko
Beiträge: 79
Registriert: 05.04.2007, 13:37

Automotive - Ersatzteilbestellung Bremse

Beitrag von Heiko » 19.04.2007, 14:04

Kann mir jemand erklären, wie in dem Beispiel die Anlage "Purchase Order.pdf"
geöffnet wird? Hab das komplette Ding auseinandergenommen und komm nicht drauf wie dieser Daniel Beardsley das macht.
Gruß Heiko

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 03.05.2007, 22:28

Hallo Heiko,

sorry, dass eine Antwort so lange auf sich hat warten lassen.... (grad ziemlich viel zu tun)

Also erst einmal zu der ersten Frage. (Anbindung an Datenbank) Dies ist ebenfalls möglich. Wird dann über den sog. Lifecycle Designer oder auch Adobe Designer, der beim Acrobat dabei ist realisiert. Hier ist es möglich auch eine Anbindung an eine Datenbank zu realisieren. Noch interessanter wird es dann natürlich, wenn man einen Blick auf die Adobe Lifecycle Serverprodukte wirft. Hier ist dann noch wesentlich mehr möglich (automatisches befüllen eines PDFs und zurückspielen von Daten in/aus Backend Systemen). Das bedeutet aber gleichzeitig auch, dass es erheblich teurer wird.

Jetzt zur zweiten Frage. David Beardsley öffnet das Bestellformular auf folgendem Wege:

Hinter der Verknüpfung "Add Part to Order" liegt ein JavaScript mit folgendem Inhalt:

Code: Alles auswählen

var partno = this.getField("SelectedPartNumber").value;

if(partno !== "")
{
    var docname = "Purchase Order.pdf";

    if (FindOpenDoc(docname) == null)
        OpenFile("Untitled Object", docname);
      
    executeCommandAfterDocIsOpened(docname, "AddPartToOrder('" + partno + "');", 0)
}
 


Hier wird erst einmal die Teilebezeichnung aus dem Feld "SelectedPartNumber" ausgelesen.
Dann wrd das Attachment "Purchase Order.pdf" geöffnet. Vorher jedoch wird abgefragt, ob ein derartiges Dokument nicht schon geöffnet ist (er will damit natürlich verhindern, dass bei jeder Teileselektion ein neues Bestellformular geöffnet wird). Das tatsächliche Öffnen passiert dann mit dem Befehl "OpenFile("UntitledObject", docname);" Wobei docname vorher als Variable mit dem eigentlichen Dateinamen versehen wurde. Wenn Sie das selbst nachvollziehen wollen, ist das jedoch ein wenig tricky, da es nicht einfach damit getan ist, das Dokument als Attachment anzuhängen. Dieses muss auf speziellem Wege ins PDF verbracht werden, da man dem Dokument ansonsten keinen eindeutigen Namen vergeben kann, der von der Seite der Programmierung her erkannt wird. Ein weit einfacherer Weg ist, das Bestell-PDF als externe Datei zur Verfügung zu stellen.

Und nun wird es nochmal ein bisschen spezieller. (hört sich aber schlimmer an, als es wirklich ist) Die hinter diesem Button liegenden Funktionen (FindOpenDoc, OpenFile, executeCommandAfterDocIsOpened) sind keine Befehle, die im Acrobat JavaScript bereits vordefiniert sind. Dies sind Funktionsaufrufe, die David nochmal separat programmiert hat (hier wird es wieder einfacher, da man diese genau einmal in einer Vorlage benötigt und der Rest geht dann zukünftig ziemlich schnell und einfach). Die Funktionen befinden sich in der Dokument Ebene, also nicht hinter einem Button. Zugriff darauf hast Du über  "Erweitert" > "JavaScript" > "Dokument JavaScripts..."

Hoffe damit die Verwirrung ein wenig aufgeklärt zu haben...

Gruß,
Andreas Vogel

PS: Wenn Bedarf an einer derartigen Vorlage besteht freue ich mich jederzeit über eine Anfrage ;)


Heiko
Beiträge: 79
Registriert: 05.04.2007, 13:37

Automotive - Ersatzteilbestellung Bremse

Beitrag von Heiko » 09.05.2007, 10:53

Hallo Andreas

Die beiden Scripte welche du ansprichst sind (AddPartToOrder und Functions). Wie das gedacht ist, also das im einen Script die Funktionen "OpenFile" und "FindOpenDoc" erstellt werden und im anderen Script dann geprüft wird ob das Dokument geöffnet ist und der Inhalt von "SelectedPartNumber" über execute an das Formular gereicht wird, dass ist ja alles logisch.
Was ich aber nicht verstehe, ist dass wenn ich z.B. das Attachment lösche und dann aber wieder anhänge, die Verknüpfung nicht mehr gegeben ist.
Außerdem sollte man denken, dass man die Dateibezeichnung "Purchase Order.pdf" auch durch eine andere Dateibezeichnung ersetzen könnte und das neue Attachment dann geöffnet wird. Aber der JavaScript- Debugger benängelt dann immer das dieses "undifined object" nicht bekannt ist.
Hab aber jetzt eigentlich das Problem gelöst indem ich dem Bestellbutton die Action Gehe zu... und dann dein Trick auf das geöffnete Bestellformular zu verweisen, gelöst.

Also Danke nochmal für deine Mühen und bis dann

Gruß Heiko

acronaut
Beiträge: 693
Registriert: 14.09.2006, 21:32
Kontaktdaten:

Automotive - Ersatzteilbestellung Bremse

Beitrag von acronaut » 10.05.2007, 21:37

Hallo Heiko,

ja, das mit den Attachments und dem Aufrufen dieser ist tatsächlich alles andere als banal. Du kannst dem Attachment, wenn du es händisch einfügst keinen wirklichen Namen vergeben. Das geht nur, wenn du es über ein z.B. VisualBasic tool von aussen reinschiebst. Dann kannst Du diesen Namen vergeben. Auf diesen Namen bezieht sich dann auch die Bezeichnung für den Aufruf der Datei. Ansonsten ist der Name des Attachments nur leer, oder "undefined" oder so. Da hilft es leider auch nichts, wenn Du dem Attachment im PDF noch nen Namen vergibst. Von daher am besten die Datei extern legen und dann von dortaus öffnen. Das geht komischerweise problemlos.

Gruß,
Andi


Benutzeravatar
Hendrik82
Beiträge: 11
Registriert: 17.04.2007, 11:38

Automotive - Ersatzteilbestellung Bremse

Beitrag von Hendrik82 » 24.05.2007, 17:11

Hallo,

liegt hinter dem 3D-Modell ein eingebettetes Java-Script? Falls ja, kann ich es mir dann anzeigen lassen?

Antworten