printing to pdf

Startseite Foren Deutsches LiveCode-Forum printing to pdf

Schlagwörter: 

Ansicht von 17 Antwort-Themen
  • Autor
    Beiträge
    • #46545
      Jens
      Teilnehmer

      Hallo zusammen, ich bins schon wieder….

      Ich möchte eine Karte als Pdf-Datei speichern. Dies funktioniert bei mir auf dem PC (Windows mit Livecode installiert) auch als Standalone:

      Answer folder
      put it  into tPfad
      put tPfad  & "/UserGuide.pdf" into tPDFPath
      open printing to pdf tPDFPath
      print card 1 of this stack into 0,0,575,800
      close printing

      Sobald ich die Standalone auf dem Laptop oder im Geschäft laufen lasse, funktioniert dies nicht mehr. Wenn ich dort den Fehler «mit try & catch error» anzeigen lasse wird mir die Fehlermeldung 709 bei der Zeile «open printing to pdf tPDFPath» angezeigt.

      Wenn ich mit «answer Printer» den Drucker Abfrage und von dort aus die Pdf erstelle, kann ich den Pfad wählen und die Pdf wird nicht gespeichert.

      Wäre toll wenn jemand hierfür eine Lösung weiss. Ich möchte später den ‚Answer Folder’Befehl mit einem festen Pfad als Variable ersetzen
      Vielen Dank und Grüsse
      Jens

    • #46547
      Klaus Major
      Verwalter

      Hi Jens,

      die Syntax ist korrekt.
      Was sagt denn THE RESULT?

      ...
      open printing to pdf tPDFPath
      print card 1 of this stack into 0,0,575,800
      if the result <> EMPTY then
        answer the result
      end if
      ...

      Eventuell hat Deine App keine Schreiberlaubnis im gewählten Ordner!?

      Ich möchte später den ‚Answer Folder’Befehl mit einem festen Pfad als Variable ersetzen.

      Hm, „feste“ Pfade sind eigentlich nur mit den diversen -> specialfolderpath(xxx)
      Codes machbar. Welchen „festen Pfad“ hast Du denn im Auge?

      Gruß

      Klaus

    • #46549
      Jens
      Teilnehmer

      Hallo Klaus

      THE RESULT sagt nichts – es kommt keine Meldung o.ä.

      Im Geschäft weiss ich nicht in wie weit die Schreibrechte hier zum tragen kommen. Mit Makros in Excel kann ich ohne weiteres PDF-Dateien erstellen und speichern.
      Bevor eine PDF erstellt und gespeichert wird, wird erst ein entsprechender Ordner generiert, in welchen die Datei dann hin gehört – das zumindest funktioniert. Und auf meinem Laptop sollte ich als Admin ja die Schreibrechte haben, dort wird aber auch nur der Ordner erstellt, nicht aber die PDF.

      Bei den „festen“ Pfaden habe ich mich falsch ausgedrückt, sorry. Es sind die Pfade und PDF Namen von meinem letzten Post;) Der Pfad wird anfangs einmal hinterlegt, und sollte dann an sich nicht mehr geändert werden.

      Hier, an dem PC funktioniert alles wie es soll (LC ist installiert, aber wird nicht geöffnet…)

      Gruss
      Jens

    • #46550
      Klaus Major
      Verwalter

      Hm, mal die Reihenfolge ändern und den Pfad anzeigen lassen:

      ...
      answer tPDFPath
      open printing to pdf tPDFPath
      if the result <> EMPTY then
        answer the result
      end if
      print card 1 of this stack into 0,0,575,800
      ...

      Hier, an dem PC funktioniert alles wie es soll (LC ist installiert, aber wird nicht geöffnet…)

      Was? Wie?
      Warum sollte LC nicht oder doch geöffnet werden?
      Sie sehen mich ratlos!? 😀

    • #46552
      Jens
      Teilnehmer

      🙂
      Ich hoffe ich drücke mich jetzt richtig aus:
      Ich meinte die IDE(?). Also da wo ich die Programme schreibe. Dies ist hier am PC installiert. Wenn ich die Standalone hier starte öffne ich ja nur das Programm und nicht die LiveCode(IDE).
      Die Standalone kann hier die PDF-Datei speichern.

      Im Geschäft habe ich kein LiveCode installiert, nur das von mir erstellte Programm.
      Hier wird keine PDF_Datei gespeichert

      Auf dem Laptop habe ich zwar LiveCode installiert, dies startet aber seit dem letzten Windowsupdate nicht mehr. Auch hier wird keine PDF-gespeichert.

      Ich hoffe dies war nun verständlicher

      Grüsse
      Jens

      PS: Die Reihenfolge probiere ich gleich morgen aus…

    • #46561
      Klaus Major
      Verwalter

      Manchmal funktioniert der Automatismus zum inkludieren von Externals
      und Widgets nicht, daher mal die „Inclusions“ manuell auswählen in den
      „Standalone Applicatiuon Settings“.

      Eventuell fehlt bei Deiner Standalone der PDF Printer?

    • #46576
      Jens
      Teilnehmer

      Hallo Klaus

      Leider hat alles nichts gebracht. In den Settings habe ich den Hacken bei PDF Printer noch nachträglich gesetzt, aber dies hatte keine Wirkung.
      Zusätzlich habe ich es noch auf dem Laptop meiner Frau versucht, auch ohne Erfolg (windows, sie ist Admin)
      Ich habe nun einen kleinen Stack geschrieben:

      on mouseDown pButtonNumber
         put specialFolderPath("desktop") & "/TestPDF.pdf" into tPDFPath
         try 
            open printing to pdf tPDFPath 
            print card 1 of this stack into 0,0,300,300
            close printing
         catch Fehler
            answer fehler
         end try
      end mouseDown

      Nun wird mir die Fehlermeldung „709,4,1“ ausgegeben

      Gruss
      Jens

    • #46577
      Klaus Major
      Verwalter

      Hm…
      Fehler 709 = Printing: Unknown destination

      Keine Schreibrechte?
      Probiere mal, eine kleine Textdatei zu schreiben zum testen:

      ...
      put specialFolderPath("desktop") & "/el_testo.txt" into tPath
      put "Ein Test" into url("file:" & tPath)
      answer the result
      ...

      Falls der Answer Dialog nicht leer ist, gibt es vielleicht einen Hinweis.
      Und bitte unbedingt auch den kompletten Pfad ANSWERn lassen, einfach zur Sicherheit!

    • #46579
      Klaus Major
      Verwalter

      Und auch mal versuchen, die PDF in z.B. specialfolderpath(„documents“) zu speichern.

    • #46582
      Jens
      Teilnehmer

      Das letzte kleine Skript hatte schon den specialFolderPath(„desktop“) als Speicherort hinterlegt.

      Die „el_Testo.txt“ Datei wird erstellt (im Geschäft & auf dem Laptop sowie auf dem PC)
      Der Answer Dialog war überall leer.

      Was meintest Du genau mit „Und bitte unbedingt auch den kompletten Pfad ANSWERn lassen, einfach zur Sicherheit!“? – stände dies in dem ANSWER THE RESULT – Fenster?

      Schreibrechte sollte ich auf meinem Laptop ja als Admin haben, genauso wie meine Frau auf ihrem.

      …Ich habe jetzt das kleine PDF-Skript noch einem Kollegen geschickt, ich bin gespannt, es bei ihm funktioniert…

      Gruss
      Jens

    • #46583
      Klaus Major
      Verwalter

      OK, ich versuche halt, nach jedem Strohhalm zu greifen…

      Was meintest Du genau mit „Und bitte unbedingt auch den kompletten Pfad ANSWERn lassen, einfach zur Sicherheit!“? – stände dies in dem ANSWER THE RESULT – Fenster?

      Damit meinte ich nur eine optische Kontrolle, ob irgend etwas daran offensichtlich falsch ist.

    • #46586
      Jens
      Teilnehmer

      Hi Klaus

      …ich hoffe es treiben noch ein paar Strohhalme vorbei 😉

      Ich habe mir kurz noch die Pfade rausgeschrieben:
      Geschäft: //bsfs05/home$/MeinName/Desktop/el_testo.txt
      Laptop: C:/Users/MeinName/Desktop/el_testo.txt
      PC: C:/Users/MeinName/Desktop/el_testo.txt

      Ich bin mal auf das Feedback meines Kollegen gespannt…

    • #46611
      Jens
      Teilnehmer

      Auch auf dem PC meines Kollegen hat es nicht funktioniert,
      er hat auch die gleiche Fehlermeldung (709,4,1) bekommen!

    • #46612
      Klaus Major
      Verwalter

      Hm, schick „das kleine PDF-Skript“ rüber… 🙂

    • #46615
      Jens
      Teilnehmer

      Danke 🙂

    • #46616
      Klaus Major
      Verwalter

      Bitte! „Leider“ klappt es hier natürlich wie erwartet, keine Probleme…

    • #46751
      Jens
      Teilnehmer

      So, ich habe nun endlich die Lösung gefunden.
      Und zwar wird, wenn eine Standalone erstellt wird, im Windowsordner eine «revpdfprinter.dll» erstellt. Diese .dll-Datei muss sich zusammen mit dem Programm im selben Ordner befinden, dann funktioniert es!
      Auf meinem PC, and dem ich die Stanalone schreibe und erstelle, braucht es die .dll nicht, dort kann ich das fertige Programm auf den Desktop ziehen und es läuft. Sobald ich einen anderen Computer nehme (Geschäft, Laptop) muss diese .dll dabei sein.


      @Klaus
      : Danke für Deine Hilfe und Geduld. Da Du den ganzen Ordner hochgeladen hast, bin ich erst auf die Idee gekommen…

      Weiss vlt. von euch, ob man diese .dll in das Standalone beim erstellen integriert kann?!

      Grüsse
      Jens

    • #46761
      Klaus Major
      Verwalter

      Ah, die DLL!?
      Wär ich nie drauf gekommen… 😎

      Weiss vlt. von euch, ob man diese .dll in das Standalone beim erstellen integriert kann?!

      Leider geht das nicht…

      Die Schotten sollten solche Funktionalität direkt in die Engine einbauen,
      das wäre super, naja, kommt vielleicht irgendwann noch mal…

Ansicht von 17 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.