mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 07:54 Benutzername: Passwort: Auto-Login

Thema: Drucken aus Flash mit variablen Texten vom 21.04.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Drucken aus Flash mit variablen Texten
Autor Nachricht
Kai.S
Threadersteller

Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht: Männlich
Verfasst Fr 21.04.2006 11:35
Titel

Drucken aus Flash mit variablen Texten

Antworten mit Zitat Zum Seitenanfang

Hi Leute,

ich brauch mal eure Hilfe!
und zwar habe ich eine Flashkarte, die sich die Texte aus einer txt-File holt, da diese vom Kunden gepflegt wird.
Dabei werden 12 Variablen in 12 Textboxen ausgegeben, die man aber nicht gleichzeitig sieht, sondern erst nachdem man auf die entsprechende Niederlassung klickt.

Jetzt MUSS aber die Möglichkeit bestehen, alle Adressen auf eine DinA4 Seite zu drucken was mich in große Schwierigkeiten bringt.

Die Variablen alle zu einem String zu vereinen und mittels seperater print.css zu formatieren ist mir bereits gelungen, auch habe ich eine Textbox ausserhalb der Bühne angelegt, in die alle Adressen ausgegeben werden und diese Box wird mittels
Code:
print(printbox, "bmax");
auch gedruckt, allerdings wird, wenn der Text zu lang wird alles was nicht mehr in die Textbox passt einfach unten abgeschnitten und nicht auf eine 2. Seite gedruckt oder entsprechend kleiner, damit es noch auf eine Seite passt.

Hat jemand einen Vorschlag, wie man dieses Problem lösen kann?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Fr 21.04.2006 12:59
Titel

Antworten mit Zitat Zum Seitenanfang

Schau mal in der Flashhilfe unter dem Stichwort "PrintJob"! Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Kai.S
Threadersteller

Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht: Männlich
Verfasst Fr 21.04.2006 14:32
Titel

Antworten mit Zitat Zum Seitenanfang

Hmm naja das Hilft mir auch nicht weiter ...
Ich habs jetzt auf printJob(); umgemodelt...
Allerdings habe ich immernoch das selbe Problem!!!

Der Text den ich mit
Code:
printJob.addPage(_root.meinText);
drucke passt nicht in das mit
Code:
_root.createTextField("meinText",1,400,0,100,600);   //createTextField(instanzname, tiefe, x, y, breite, hoehe)
erstellte Textfeld und wird einfach unten abgeschnitten!!!

Was kann man dagegen tun?

Code:
//for printing output
   _root.createTextField("meinText",1,400,0,100,600);   //createTextField(instanzname, tiefe, x, y, breite, hoehe)
   trace("Textfeld created");
   meinText.multiline = true;
   meinText.html = true;
    meinText.wordWrap = true;
    meinText.border = false;   
    meinFormat = new TextFormat();
    meinFormat.color = 0x000000;
   mein.font = "Verdana";
   mein.size = 10;
    meinText.setTextFormat(meinFormat);
    //neues LoadVars Object
    geladenerText = new LoadVars();
   var format2 = new TextField.StyleSheet();
   var path2 = "print.css";
   format2.load(path2);
   format2.onLoad = function(loaded) {
      if (loaded) {
         _root.meinText.styleSheet = format2;
         _root.meinText.htmlText = [_global.printer.printinfos+"<br>"+_global.printer.be+"<br>"+_global.printer.nl+"<br>"+_global.printer.de+"<br>"+_global.printer.cz+"<br>"+_global.printer.sl+"<br>"+_global.printer.hu+"<br>"+_global.printer.sw+"<br>"+_global.printer.at];
      } else {
         //output.text = "Error loading CSS file!";
      } //end if
   }; //end function onLoad


_root.printy.onRelease = function() {
    //kreieren ein neues Printobjekt
    printJob = new PrintJob();
    //Druckauftrag starten
    printJob.start();
    //geben unser Textfeld in das Printobjekt
    printJob.addPage(_root.meinText);
   trace("page added");
    //versenden das Printobjekt an den Drucker
    printJob.send();
    //loescht das Texfeld wieder
    meinText.removeTextField();
    delete printJob;
    delete geladenerText;       
}; //end function onRelease
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Fr 21.04.2006 15:27
Titel

Antworten mit Zitat Zum Seitenanfang

Du kannst doch Breite und Länge deines Textfeldes abfragen und innerhalb der PrintJob-Klasse den druckbaren Bereich mit der Methode PrintArea und den Eigenschaften pageHeight und pageWidth festlegen. Nach dem Abfragen lassen sich mit addPage weitere Seiten hinzufügen.


//Edit:
Anbei ein kleines Beispiel:

Code:

druck_btn.onRelease = function() {
   var Seiten = 0;
   // neues PrintJob-Objekt erstellen
   var drucken = new PrintJob();
   // Druckauftrag definieren
   if (drucken.start()) {
      if (drucken.addPage(_root.text1/*Instanzname Text1*/, {xMin:0, xMax:300, yMin:0, yMax:200}/*Textarea (hier Breite 300, Höhe 200*/)) {
         Seiten++;
         if (drucken.addPage(text2/*Instanzname Text2*/, {xMin:0, xMax:300, yMin:0, yMax:200}/*Textarea (hier Breite 300, Höhe 200*/)) {
            Seiten++;
            if (drucken.addPage(_root.text3/*Instanzname Text3*/, {xMin:0, xMax:300, yMin:0, yMax:200}/*Textarea (hier Breite 300, Höhe 200*/)) {
               Seiten++;
               if (drucken.addPage(_root.text4/*Instanzname Text4*/, {xMin:0, xMax:300, yMin:0, yMax:200}/*Textarea (hier Breite 300, Höhe 200*/)) {
                  Seiten++;
                  // usw...
               }
            }
         }
      }
   }
   // Wenn was zum Drucken da ist, Azftrag an die Druckwarteschlange weiterleiten
   if (Seiten>0) {
      drucken.send();
   }
   // PrintJob-Objekt wieder löschen; erst dann kann ein neues PrintJob-Objekt definiert werden
   delete drucken;
};



Zuletzt bearbeitet von l'Audiophile am Fr 21.04.2006 16:06, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Kai.S
Threadersteller

Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht: Männlich
Verfasst Fr 21.04.2006 17:35
Titel

Antworten mit Zitat Zum Seitenanfang

hmmm das hilft mir aber nur, wenn ich meinen Text vorher splitten kann :-/
und genau das ist ja das Problem ... ich kann ja nicht abfragen, ob der Text in mein Textfeld passt oder nicht :-/

Das kann doch nicht so schwer sein *Schnief* Ich will einfach nur ein Beliebig großes Textfeld drucken und es soll sich automatisch auf mehrere Seiten verteilen, sobald es nicht auf eine Seite passt .... grml grml grml

Sowas muss doch schonmal jemand gemacht haben ... hmmmm
Ich hab mal was gesehen um die Zeilen zu zählen, damit könnte mans limited, aber wenn dann das CSS von 10px auf 12px geändert wird ist alles für die Katz! Verdammt nochmal!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Fr 21.04.2006 17:39
Titel

Antworten mit Zitat Zum Seitenanfang

Kai.S hat geschrieben:
hmmm das hilft mir aber nur, wenn ich meinen Text vorher splitten kann :-/
und genau das ist ja das Problem ... ich kann ja nicht abfragen, ob der Text in mein Textfeld passt oder nicht :-/



Code:

Textfield.length
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [Flash MX] Variablen etc.
[flash] LoadMovie mit Variablen
[FLASH] Variablen-Check: If, else, else if...
Variablen in Flash senden + empfangen
Variablen in Flash MX steigen lassen
[Flash 8] Problem mit Variablen in dynamischen MCs
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.