PDA

Volledige versie bekijken : dynamic text printing met printJob


kreukel
%Europe/Berlin %581 %2005, 13:57
Hallo,

Ik ben nieuw hier. Ik hoop dat jullie mij uit de brand kunnen helpen met de functie printJob in Flash. Ik heb al een hele hoop geprobeerd maar tot nu toe heeft nog niets echt gewerkt. Daarbij is het in engels toch een stuk moeilijker dan in het Nederlands.

Ik heb een tekst die ik via een variable in een dynamic text field laadt. Deze wil ik graag printen d.m.v. de gebruiker op een printknop te laten drukken. Nu heb ik het al geprobeerd met een printJob functie maar die wil niet werken. Hieronder de code:

btn.onRelease = function()
{
var pj = new PrintJob();
var success = pj.start();
if(success)
{
pj.addPage (0, {xMin : 10, xMax: 400, yMin: 10, yMax: 400});
pj.addPage("print", {xMin : -300, xMax: 300, yMin: 400, yMax: 800});
pj.send();
}
delete pj;
}

Ik heb deze code in de button geplakt. Ik krijg als error:

**Error** Scene=Scene 1, layer=print, frame=1:Line 1: Statement must appear within on handler
btn.onRelease = function()

Wat bedoelen ze hiermee?

Dan heb ik ook nog een andere geprobeerd:

var pj:PrintJob = new PrintJob();
if (pj.start()) {
var pagesToPrint = 0;
var nPageWidth:Number = pj.pageWidth;
var nPageHeight:Number = pj.pageHeight;
var w: Number = _root._width;
var h:Number =_root._height;
if(w>h){
var scaleFactor = nPageWidth/w;
}else{
var scaleFactor = nPageWidth/h;
}
var mcPropos:object = {
width: _root._width,
height:_root._height
};
_root._xscale = scaleFactor*100;
_root._yscale = scaleFactor*100;
if (pj.addPage(0)) {
pagesToPrint++;
}
if (pagesToPrint > 0) {
pj.send();
}
}
with(_root){
_width = mcProps.width;
_height = mcProps.height;
}
delete pj;

Hier krijg ik de volgende error:

**Error** Scene=Scene 1, layer=actions, frame=2:Line 13: The class or interface 'object' could not be loaded.
var mcPropos:object = {

Ik heb in het boek van O'Reilly gezocht en in de help gekeken maar snap de : niet in het script.

Wie o wie snapt dit en kan het mij uitleggen?

Alvast hartelijk dank!

Daphne

CremFresh
%Europe/Berlin %595 %2005, 14:17
de : na de naam van je variable is de type die aan je variable geeft.
is Handig zodat je data of je variable niet verkeerd word gelezen onder andere!

Van de livedocs van macromedia flash mx 2004 kan je ook kijken hoe het moet gebruiken. En ja je krijgt errors

Omdat
Fout 2:
Je hebt waarschijnlijk je script op een movieclip geplaats en niet op je tijdlijn.


fout 1:
var mcPropos:object = var mcPropos: Object = moet zijn.

PS dit is een goede voorbeeld van printJob:


myButton.onRelease = function()
{
var my_pj = new PrintJob();
var myResult = my_pj.start();
if(myResult){
myResult = my_pj.addPage (0, {xMin : 0, xMax: 400, yMin: 0,
yMax: 400});
myResult = my_pj.addPage ("myMovieClip", {xMin : 0, xMax: 400,
yMin: 400, yMax: 800},{printAsBitmap:true}, 1);
myResult = my_pj.addPage (1, null,{printAsBitmap:false}, 2);
myResult = my_pj.addPage (0);

my_pj.send();
}
delete my_pj;
}


PEace

kreukel
%Europe/Berlin %681 %2005, 16:21
Hoi CremFresh! door enkel de o door een spatie O te veranderen doet hij het! TOP! Onwijs bedankt. Ik had mijn script wel gewoon in een tijdlijn staan. Die andere had ik aan mijn button gezet. Zo doe ik het altijd meerdere dingen proberen totdat je iets vind wat werkt. Nu maar proberen om de tekst die in mijn var zit te laten printen want dat is weer een verhaal apart. Scrollable dynamic text field. Hij print nu alleen nog maar wat er op het scherm te zien is. Je schijnt daar weer een max ding voor te hebben. Hopen dat het lukt.