Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Kai.S
Threadersteller
Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht:
|
Verfasst Fr 21.04.2006 11:35
Titel Drucken aus Flash mit variablen Texten |
|
|
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?
|
|
|
|
|
l'Audiophile
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Fr 21.04.2006 12:59
Titel
|
|
|
Schau mal in der Flashhilfe unter dem Stichwort "PrintJob"!
|
|
|
|
|
Anzeige
|
|
|
Kai.S
Threadersteller
Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht:
|
Verfasst Fr 21.04.2006 14:32
Titel
|
|
|
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 |
|
|
|
|
|
l'Audiophile
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Fr 21.04.2006 15:27
Titel
|
|
|
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
|
|
|
|
|
Kai.S
Threadersteller
Dabei seit: 20.12.2005
Ort: München
Alter: 41
Geschlecht:
|
Verfasst Fr 21.04.2006 17:35
Titel
|
|
|
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 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!
|
|
|
|
|
l'Audiophile
Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht:
|
Verfasst Fr 21.04.2006 17:39
Titel
|
|
|
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 :-/
|
|
|
|
|
|
|
|
|
Ä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
|
|
|
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.
|
|