Forenindex » Programmierung/Entwicklung » FileMaker » PDF Erstellung unter Run-Time Version

PDF Erstellung unter Run-Time Version

JakMike
Beiträge gesamt: 24

4. Dez 2007, 18:45
Bewertung:

gelesen: 5766

Beitrag als Lesezeichen
Hallo

Ich verwende FM 8.5 Advanced. Die Applikation wird als Run-Time ausgeliefert. Fuer die Erstellung von Berichten in PDF Form musste ich die Funktion Drucken - als PDF verwenden. Im Dialog gibt man den Dateinamen und waehlt den Speicherort aus z.B. Schreibtisch/Projekt1.

Mein Problem ist jetzt, dass er als Speicherort den ganzen Pfad speichert, d.h. Harddisk/Username/Schreibtisch/Projekt1.
D.h. wenn dann unter Run-Time ein User unter seinem eigenen Namen angemeldet ist, stimmt der Pfad natuerlich nicht mehr. Daher erscheint dann die Fehlermeldung "Der Speicherplatz reicht fuer diese Operation nicht aus.".

Hat jemand eine Idee, wie ich dieses Problem loesen kann ?

Danke, Michael

PDF Erstellung unter Run-Time Version

masterkey
Beiträge gesamt:

4. Dez 2007, 18:56
Bewertung:

gelesen: 5763

Beitrag als Lesezeichen
 

hi mike

check mal das handbuch - variablen!


gruss.

christian

PDF Erstellung unter Run-Time Version

mmaass
Beiträge gesamt: 88

4. Dez 2007, 22:07
Bewertung:

gelesen: 5746

Beitrag als Lesezeichen
Die PDF-Erstellung aus einer Runtime-Lösung ist nicht möglich.

Hauptsächlich aus lizenzrechtliche Gründen von Seiten der Firma Adobe. Sonst könnte ja jeder, der FileMaker Pro Advanced hat, ein kostenloses Programm erstellen, dessen einziges Feature, das Erstellen von PDFs ist. Da das eine lang entwickelte Technologie ist, die nun mal Adobe gehört, wollen und dürfen die selbstverständlich nicht außen vor sein.

Dazu steht aber auch recht deutlich etwas im digitalen Handbuch bzw. der "Hilfe" unter

> Inhalt
> Verwenden von FileMaker Pro Advanced-Werkzeugen
> Über das Erstellen von Runtime-Lösungen (FileMaker Pro Advanced):

Runtime-Anwendungen [..] verfügen nicht über die Möglichkeit, Datensätze als Adobe PDF-Dateien zu speichern bzw. zu senden. Die Verwendung von ODBC-Datenquellen im Beziehungsdiagramm wird in Runtime-Anwendungen nicht unterstützt. [..] Einen Funktionsvergleich zwischen der Runtime-Anwendung und FileMaker Pro finden Sie im FileMaker Pro Advanced Entwicklerhandbuch.

Dafür müsstest Du eine Erweiterung eines anderen Anbieters verwenden. Zum Beispiel das PS2PDF Plug-In:

http://www.schubec.com/..._details_883786.html

Das ist allerdings kostenpflichtig und die Einbindung erfordert durchaus gewisse Kenntnisse. Wenn das mit einer Runtime vertrieben werden soll, wird eine spezielle Lizenz erforderlich und es müssen unter anderem Scripts für die Freischaltung angelegt werden. Nicht ganz ohne.
-----
[<··mmaass··>]

PDF Erstellung unter Run-Time Version

JakMike
Beiträge gesamt: 24

6. Dez 2007, 18:44
Bewertung:

gelesen: 5726

Beitrag als Lesezeichen
Dear mmaass

Danke fuer die Info. Ja das habe ich rausgefunden, nachdem ich die RT testen wollte und in diversen Handbuechern nach der Ursache suchte..
Der Punkt ist jedoch, das ich nicht die Funktion Datensatz als PDF speichern benutze, sondern die PDF Erstellung beim Ausdrucken. Da auf dem Mac ein entsprechender Treiber ja installiert ist, sollte das eigentlich gehen.

Aber das Problem bleibt das Verzeichnis. Wie kann ich das dynamisch machen ?

Michael

PDF Erstellung unter Run-Time Version

mmaass
Beiträge gesamt: 88

6. Dez 2007, 20:09
Bewertung:

gelesen: 5718

Beitrag als Lesezeichen
Dann habe ich Dich offensichtlich falsch verstanden ... von Mac OS X hatte ich nichts gelesen. Und da die PDF-Ausgabe normalerweise (außer unter Mac OS X) nicht zum Betriebssystem gehört, war ich von etwas anderem ausgegangen.

Da ich jetzt hoffentlich verstanden habe, was Du meinst, wäre mein Tipp für FileMaker bis 8.5 die Statusfunktion

Hole ( Desktop Pfad )

Ab 9 ist es Hole ( DesktopPfad ) ohne Leerschritt.

Diese Funktion ermittelt dynamisch, auch in einer Runtime, den Pfad zum Desktop des Users. Angenommen, Dein Username ist "JakMike", dann ergibt das

"/Macintosh HD/Users/JakMike/Desktop/"

Kein Problem also, das in einem Script in eine Variable $Desktop zu schreiben und daraus einen vollständigen Pfad zu erstellen. Damit es auch gut funktioniert, würde ich allerdings den ersten und letzten Schrägstrich entfernen:

Variable setzen [$Desktop; ZeichenMitte ( Hole ( DesktopPfad ) ; 2 ; Länge ( Hole ( DesktopPfad ) ) - 2 ) ]

Das ergibt "Macintosh HD/Users/JakMike/Desktop". Der Pfad, mit dem FileMaker dann etwas anfangen könnte, wäre:

filemac:/$Desktop/DeineDatei.pdf

Wie Du diesen Textstring allerdings für die Druck-Funktion und die PDF-Ausgabe des Systems nutzen willst, verstehe ich nicht.

Die Angabe ist nach internem FileMaker Standard mit Schrägstrich als Delimiter. Mac OS verwendet als Delimiter intern in bestimmten Fällen den Doppelpunkt und in anderen ebenfalls den Schrägstrich. Das könntest Du durch Austauschen ( $Desktop ; [ "/" ; ":" ] ) kompensieren.
-----
[<··mmaass··>]

PDF Erstellung unter Run-Time Version

JakMike
Beiträge gesamt: 24

7. Dez 2007, 23:21
Bewertung:

gelesen: 5681

Beitrag als Lesezeichen
Hi mmaass

Mit Deinen Angaben bin ich schon einen Schritt weiter. Doch wie Du erkannt hast, bleibt immer noch die Frage, wie ich den Pfad (z.B. in einer Variable abgelegt) in das Dialog Fenster für PDF ablege.

Also nochmals zum Verständnis. Auf dem Mac erscheint ein Dialog-Fenster wenn man ausdruckt. Auf diesem Dialog gibt es unten links ein Button "PDF". Wenn man diesen anwählt muss man "als PDF Datei" auswählen. Danach erscheint ein neues Dialog-Fenster, in welchem man den PDF-Dateinamen und eben den Pfad AUSWAEHLEN kann.
Ich finde jedoch mittels Script keine Möglichkeit, diesen Pfad irgendwie einzustellen.
Kennst Du da eine Möglichkeit ?

Thanks, Michael

PDF Erstellung unter Run-Time Version

mmaass
Beiträge gesamt: 88

8. Dez 2007, 13:50
Bewertung:

gelesen: 5649

Beitrag als Lesezeichen
Ich weiß, wie der Druckvorgang bzw. die Ausgabe eines PDF per Druckbefehl unter Mac OS X abläuft. Daher habe ich ja auch angemerkt, dass es mir nicht klar ist, wie Du da aus FileMaker heraus eingreifen willst. Das geht so nicht.

Die naheliegende Möglichkeite wäre die Ausführung des Drucks per AppleScript. Den Parameter für den Pfad ermittelst Du mit "Hole ( Desktop Pfad )" und Deinem gewünschten Dateinamen und bindest ihn dann - hier kommt dann die von mir erwähnte Abweichung mit dem Delimiter ":" zum Tragen - in ein AppleScript ein, das aus FileMaker heraus mit dem Scriptschritt "AppleScript ausführen" startest.

Wie das im Detail geht, fragst Du aber am besten in einem entsprechenden Forum zu AppleScript nach.
-----
[<··mmaass··>]