Startseite › Foren › Deutsches LiveCode-Forum › Drucken aus einer App
- Dieses Thema hat 20 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 2 Jahren, 1 Monat von sardus.
-
AutorBeiträge
-
-
September 20, 2022 um 10:59 Uhr #46594
Guten Morgen
Ich bin an einer iOS-App für das iPad im Querformat (1024 x 768 px). Nun möchte ich gerne, dass man aus der App auch Arbeitsblätter im Hochformat A4 generieren und ausdrucken kann. Kann ich den Ausdruck auf einem unsichtbaren Substack mit der Grösse 595 x 842 px bereitstellen und anschliessend via Hauptstack zum Drucken aufrufen?
Besten Dank
-
September 20, 2022 um 11:28 Uhr #46596
Yep. 🙂
-
September 20, 2022 um 11:52 Uhr #46597
Besten Dank Klaus!
Ist das ohne Weiters iOS-tauglich oder muss ich da noch etwas speziell beachten?
-
September 20, 2022 um 12:01 Uhr #46598
„print“ ist auf allen Platforme verfügbar, also sehe ich nichts,
was dagegen sprechen würde. -
September 20, 2022 um 13:11 Uhr #46605
Super, herzlichen Dank!
-
Oktober 18, 2022 um 21:18 Uhr #47098
Ich kriege das mit dem Ausdruck via App einfach nicht hin. Vielleicht hat jemand einen Tipp?
Meine App besteht aus dem Mainstack „App“ (1024 x 768 px). In diesem Stack läuft die eigentliche App. Nun habe einen unsichtbaren Substack „Ausdruck“ (Dimensionen A4) mit der Card „Layout“. Darin werden die Daten für den Ausdruck angeordnet.
Nun möchte ich, dass man mit einem einfachen Klick auf einen Button im Mainstack der Druckauftrag des Substacks „Ausdruck“ ausgelöst wird. Leider funktioniert das nicht. Es wird auf dem iPad kein Druckdialog aufgerufen.
Im Hauptstack habe ich geschrieben:
on openStack start using stack "Ausdruck" end openStack
Das Buttonskript lautet:
on mouseup set the printPaperSize to 595,842 set the printPaperOrientation to "portrait" open printing with dialog if the result is not "Cancel" then print card "Layout" of stack "Ausdruck" into 0,0,595,842 close printing end if end mouseup
Hat jemand eine Idee? Besten Dank!
-
Oktober 18, 2022 um 21:37 Uhr #47099
„open printing…“ wird nur auf dem Desktop unterstützt!
Also mal weglassen und erneut probieren:... set the printPaperSize to 595,842 set the printPaperOrientation to "portrait" print card "Layout" of stack "Ausdruck" into 0,0,595,842 ...
-
Oktober 18, 2022 um 22:03 Uhr #47101
Danke Klaus für deine schnelle Antwort. Leider bringt das auch keine Besserung. Auf dem Macbook läuft alles wie gewünscht. Auf dem iPad funktioniert es leider nicht.
Ich habe auch auch unterschiedliche iOS-Versionen sowie im Simulator getestet – ebenfalls erfolglos.
-
Oktober 18, 2022 um 22:21 Uhr #47102
Ich habe noch gemerkt, dass die Daten auf der Card „Layout“ im Substack „Ausdruck“ auf dem Macbook nur gedruckt werden, wenn dieser auch wirklich geöffnet wurde.
Der folgende Code im Mainstack reicht nicht:
on openStack start using stack "Ausdruck" end openStack
-
Oktober 19, 2022 um 10:05 Uhr #47104
Hi sardus,
mit „start using stack xyz“ wird nämlicher Stack nur in die Message Hierarchie aufgenommen, also um seine SKRIPTE nutzen zu können. Mit DRUCKEN hat das nichts zu tun.
Du könntest:
... go invisible stack "Ausdruck" print card "Layout" of stack "Ausdruck" into 0,0,595,842 ...
Gruß
Klaus
-
Oktober 19, 2022 um 15:20 Uhr #47108
Danke Klaus! Ich habe ein bisschen gegoogelt und gemerkt, dass das Drucken via iOS recht umständlich ist. Anscheinend muss ich zuerst ein PDF generieren. Dieses kann anschliessend via „rreHardcopyPrintPDF“ grdruckt werden:
on mouseUp -- PDF-Dokument erstellen local tPDFFile put specialFolderPath("documents") & "/Arbeitsblatt.pdf" into tPDFFile delete file tPDFFile open printing to pdf tPDFFile set the printMargins to 0,0,0,0 print this card into 0,0,595,842 close printing rreHardcopyPrintPDF tPDFFile, "PDF Print" end mouseUp
Leider funktioniert nur das Drucken der aktuellen Card. Sobald ich den Substack drucken möchte, passiert nichts …
print card "Layout" of stack "Ausdruck" into 0,0,595,842
-
Oktober 19, 2022 um 15:28 Uhr #47109
Leider habe ich kaum Erfahrung mit iOS, speziell drucken.
Daher kann ich leider auch keinen heissen Tip geben. -
Oktober 19, 2022 um 16:25 Uhr #47110
Trotzdem vielen Dank Klaus!
Ich habe nun eine Alternativlösung gefunden. Ich lasse den Substack weg und löse den Ausdruck über eine zusätzliche unsichtbare Card „Ausdruck“. Auf dieser ordne ich alle Objekte an. Beim Generieren der PDF-Datei „blase“ ich einfach einen Bereich der Card auf A4 auf:
print card "Ausdruck" of stack "App" from 0,0 to 543,768 into 0,0,595,842
So kann ich auch Arbeitsblätter im Hochfromat A4 drucken, obwohl die App im Landscape-Modus läuft. Die Lösung mit dem Substack wäre natürlich etwas eleganter gewesen.
-
Oktober 20, 2022 um 23:55 Uhr #47124
Hallo zusammen
Vielleicht kann mir jemand nochmals auf die Sprünge helfen. Der Ausdruck funktioniert soweit gut. Nun möchte ich aber vor dem Ausdruck noch einen QR-Code mit Daten zum Arbeitsblatt generieren und anzeigen. Leider funktioniert das nicht. Könnte das mit der Reihenfolge zu tun haben oder muss ich die beiden Vorgänge separat handhaben?
on mouseUp -- Lösung generieren put "Lösung 1" into Loesungen put textEncode(Loesungen, "UTF-8") into Loesungen -- QR-Code generieren qrCreate "!", Loesungen, "L", 3 put the result into QRDaten delete line 1 of QRDaten put QRDaten into image "QRCode" of card "Vorlage" of stack "App" set the height image "QRCode" of card "Vorlage" of stack "App" to 60 set the width image "QRCode" of card "Vorlage" of stack "App" to 60 -- PDF-Dokument erstellen local tPDFFile put specialFolderPath("Documents") & slash & "Arbeitsblatt.pdf" into tPDFFile delete file tPDFFile open printing to pdf tPDFFile set the printMargins to 0,0,0,0 set the printPaperSize to 595,842 set the printPaperOrientation to "portrait" --print this card into 0,0,595,842 print card "Vorlage" of stack "Zeiten" from 0,0 to 543,768 into 0,0,595,842 close printing rreHardcopyPrintPDF tPDFFile, "Test PDF Print" --answer "PrintPDF returned" && the result end mouseUp
Ohne den Teil mit dem QR-Code funktioniert alles wunderbar. Was mache ich falsch?
-
Oktober 21, 2022 um 12:35 Uhr #47132
Hm, ich habe das mal eben simuliert mit diesem Skript und hatte keine Probleme!?
Stack „s2“ war allerdings geöffnet, falls das eine Rolle spielen sollte.Ich würde allerdings erst prüfen, ob die PDF vorhanden ist, bevor ich sie lösche,
sonst bleibt das Skript in einer Runtime einfach an der Stelle stehen und wir wundern uns. 🙂on mouseUp pMouseButton put "Lösung 1" into Loesungen put textEncode(Loesungen, "UTF-8") into Loesungen -- QR-Code generieren qrCreate "!", Loesungen, "L", 3 put the result into QRDaten delete line 1 of QRDaten put QRDaten into image "qr" of card 1 of stack "s2" set the height image "qr" of card 1 of stack "s2" to 60 set the width image "qr" of card 1 of stack "s2" to 60 -- PDF-Dokument erstellen put specialFolderPath("desktop") & "/Arbeitsblatt.pdf" into tPDFFile ## !!! if there is a file tPDFFile then delete file tPDFFile end if open printing to pdf tPDFFile set the printMargins to 0,0,0,0 set the printPaperSize to 595,842 set the printPaperOrientation to "portrait" --print this card into 0,0,595,842 print card 1 of stack "s2" from 0,0 to 543,768 into 0,0,595,842 close printing end mouseUp
-
Oktober 21, 2022 um 12:54 Uhr #47133
Da ich weder Drucker noch iPhone besitze, kann ich das nur auf dem Desktop testen.
Ein paar Fragen ins Blaue…
1. Hast Du überprüft, ob Dein Handy drucken kann mit: rreHardcopyIsAvailable()
2. Was genau funtioniert nicht?
Ob die PDF erstellt wurde, ist ja leicht zu prüfen -> files(specialfolderpath(„documents“))
Wir müssen das Problem genau lokalisieren, um es beseitigen zu können.Hinweis:
iOS ist wie Android case-sensitive, daher solltest Du:
specialfolderpath(„documents“) (mit kleinem D) schreiben! -
Oktober 24, 2022 um 12:05 Uhr #47175
Klaus, besten Dank für deine Rückmeldung!
Das Problem liegt irgendwie beim Generieren des QR-Codes. Wenn ich den Code dort ausblende, funktioniert es. Ich muss da wohl nochmals über die Bücher …
Gibt es eine Möglichkeit, dass die Card mit dem Daten für den Ausdruck nicht angezeigt wird – also invisible ist. Aktuell wird die Card kurz aufgerufen und verschwindet wieder, sobald das Menu für den Druck erscheint.
Besten Dank!
-
Oktober 24, 2022 um 14:51 Uhr #47178
... go invisible stack "Ausdruck" ## Druck Dein Ding ## ... close stack "Ausdruck" ...
Sollte hinhauen…
-
Oktober 25, 2022 um 11:00 Uhr #47205
Hallo Klaus
Besten Dank für deine Hilfe. Ich habe nun endlich den Fehler gefunden. Ich hatte in den „Inclusions“ nicht alle benötigten Erweiterungen ausgewählt … Sorry, das war mein Anfängerfehler …
-
Oktober 25, 2022 um 11:16 Uhr #47206
Ente gut, alles gut! 🙂
-
November 8, 2022 um 00:08 Uhr #47425
Hallo zusammen
Kennt jemand einen weg, um Bilder (z. B. SVG), welche sich auf einer Card befinden, in guter Qualität zu drucken (via Umweg über ein PDF)?
Auf dem ausgedruckten Blatt sehe die Bilder leider sehr unscharf aus …
Danke!
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.