| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| as3-beginner Registriert seit: Oct 2001
Beiträge: 76
| PrintJop und Seitenränder erzeugen
Hi, ich hab über PrintJob den Inhalt meiner Scrollbar-Komponenten zum Drucken erstellt. Dabei prüfe ich auch die Höhe meines Inhalts damit wenn nötig mehrere Seiten gedruckt werden. Jetzt ist es aber so dass der Seitenumbruch manchmal mitten in der Textzeile stattfindet, da ich eingestellt habe, dass nach 500px Höhe ein Umbruck der Seite gemacht werden soll. Zusätzlich sitzt meine MC in der Scrollbar auf den Koordinaten 0,0. Somit wird auch am A4-Blatt ganz oben links zu drucken beginnen. Kann ich Seitenränder einstellen ohne den MC verschieben zu müssen? ToM
__________________ Keep on rollin´ |
| | |
| | #2 (permalink) |
| seltener Gast Registriert seit: Feb 2002 Ort: München
Beiträge: 352
|
Aus der Flash Hilfe (F1): PHP-Code: C-LEX |
| | |
| | #3 (permalink) |
| as3-beginner Registriert seit: Oct 2001
Beiträge: 76
|
Hi, danke für die Antwort, aber soweit ich das verstehe sind xMin und die anderen Werte ja die Positionen die vom MC gedruckt werden sollen und nicht das auf einem A4-Blatt von links 1 cm und von oben 2cm eingerückt werden soll. Oder seh ich das falsch? ToM
__________________ Keep on rollin´ |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Apr 2006
Beiträge: 20
|
Probier doch mal einen MC zu drucken, indem bereits links und oben weiße Ränder angelegt wurden. Diesen kanst du ja entweder (visible = 0) unsichtbar machen, oder ihn so auf der Bühne platzieren, dass die Ränder nicht zu sehen sind. - Dann lädst du diesen Clip in deinen printJob. Wenn du also nen A4 Blatt bedrucken willst, und links und rechts soll ein Rand von 1cm sein, könntest du das so machen: 1. Rechnung pkt, px, cm: Man mus wissen, 72px entsprechen 1 Zoll oder 2,54cm. 1 cm entspricht also ca. (72/2,54) 28,346px. Damit ist ein A4 Blatt also (21x28,346) ca. 595,27px breit. Für unseren 1cm Rand benötigen wir also 28,346px in Flash. 2. Jetzt machst du im zu druckenden MC zwei Flächen oben und links mit ca. 28,5px. - wir wollen den Rand ja aber auch z.B. rechts, daher ziehen wir den vom MC Inhalt ab. Der ganze MC könnte also ca. 595,27px breit sein wovon ja bereits 28,5 oben und links für den Rand genutzt wurde. Ziehen wir nochmal 28,5px für den rechten Rand ab, bleiben also effektiv noch 538,27px zur Darstellund übrig. - Wenn du nun diesen Bereich nutzt um die Inhalte zu platzieren und diese 28,5px von oben und links setzt, klappt das. Du solltest aber darauf auchten bei Code: {xMin:0, xMax:567, yMin:0, yMax:800} PS: Könnte aber auch Hilfe zum Theme "echten" Druckrand gebrauchen. Gruß! Nochn Nachtrag dazu: PrintJop und Seitenränder erzeugen Geändert von GingerP (28-04-2006 um 08:51 Uhr) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Apr 2006
Beiträge: 20
|
Äh, nochn Nachtrag! Code: {xMin:-28, xMax:539, yMin:-28, yMax:800} Diesen muss man dann vom Max-Wert abziehen. Wenn der rechte gleichgros sein soll, muss auch dieser vom Max-Wert abgezogen werden. Hier also: 595px (entspricht A4, 21cm Breite) - 28px linker Rand - 28px rechter Rand = 539px für die Arbeitsfläche effektiv. (Mann kann auch nen größeren Film skaileren.) Alles so ca. Achtung, wenn man 's so macht, die Inhalt bei 0,0 auf der Bühne pltzieren. Gruß! |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Apr 2006
Beiträge: 20
|
Ich habe mich gerade mal dran gemacht, diese Randsache zu testen. Dabei hab ich mal ein kleines Besipiel gemacht: Wir wollen einen Film, der 810px breit ist auf ein A4 Blatt so positionieren, dass links und rechts ein Rand von ca. 1cm bleibt. (Dabei ist vorweg zu sagen, dass der hier erzeugte linke Rand auch als Flash-Inhalt gehandelt wird und einige Drucker noch zusätzlich links und oben ihren eigenen Druckrand erzeugen. Alles, also inkl. unserem Rand rutscht dann entsprechend nach links und unten.) Okay, der Film ist also 810px breit, nach obiger Rechnung entsprechen 21cm (A4-Breite) etwa 595,27px. Daher müssen wir den Film vorm Drucken skalieren. Würden wir die 810px randlos aufs Blatt bringen wollen, wäre der Skalierungsfaktor etwa 0,7349 oder eben 73.49% ([595/810]x100 = 73,49). Jetzt möchten wir ja aber gerne noch 1cm Rand links und rechts haben. 1cm entspricht etwa 28,346px. Nehmen wir mal 28,35px für unser Beispiel. Da sich die Skalierung des Films auch auf den Rand auswirkt, entsprechen die 28,35px nach dem Skalieren also nicht mehr ca. 1cm sondern nur einem gewissen Prozentsatz des Wertes. Kennt man ca. den Prozentsatz, kann man sich so der gewünschten Randgröße annähern. Berechnung des Skalierungsfaktors inkl. Rand: 810px (Filmbreite) + 28,35px (Rand links) + 28,35px (Rand rechts) = 866,7px. Diese 866,7px müssen jetzt auf unser Papier (595px) skaliert werden, also: (595,27/866,7)x100 = 68,68% - Dies ist der Prozentsatz für die Skalierung. Der angegebene Rand vom 28,35px (hätte vor der Skalierung ca. 1cm entsprochen) ist jetzt nur 68,68% des Wertes breit, also 0,6868cm. Umgedreht kann man jetzt so grob errechnen, welchen Wert man für den Rand dazugeben müsste, um nach der Skalierung auf ca. 1cm zu kommen (Näherung). 28,35px entsprechen nach der Skalierung auf 68,68% etwa 0,6868cm. 68,68% von 28,35px sind 19,47078px. - 1cm entspricht jetzt also ca. 25,438px. - Man könnte jetzt das Verhältnis, einen Faktor etc. ausrechnen un sich nähern, oder über ne Wurzelfunktion oder Algorithmus die Sache genau berechnen. Aber wir schätzen einfach! Grob sind vermutlich ca 34px Rand erforderlich, damit nachder Skalierung 1cm herauskommt. Achtung! das ganze muss man jedes mal von vorne rechnen, ist ne Näherung, also ändert sich ein Wert, wirkt sich das auf alle anderen inkl. den Prozentsatz aus. Am besten man sucht sich nen Wert in px, rechnet zusammen mit allen Inhalten den Skalierungsfaktor aus und prüft danach, wie groß denn nun der Rand in cm ausgegeben wird. Nachdem man sich so grob sein Blatt zusammengerechnet hat, geht es in AS weiter: Hiermit wird die angefügte Seite skaliert: Code: _root._xscale = 68.7; _root._yscale = 68.7; Code: .addPage("_root", {xMin:-28, xMax:810, yMin:-28, yMax:380}, {printAsBitmap:true}); Code: delete my_pj; _root._xscale = 100; _root._yscale = 100; Code: my_pj.start(); trace(my_pj.paperWidth); Okay, ich schlage vor nen Rand machen, oben und links etwas weniger dazu geben als rechs und unten noch mehr Platz lassen. Die Skalierung lieber etwas kleiner ausfallen lassen. - Naja, vielleicht hilfts wem. Gruß! |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |