10/8/2011 3:20:11 AM
Title:
Print from Flash error
How to print multiple pages from Flash.
It gives me these errors:
Warning: Filter will not render. The DisplayObject's filtered dimensions (21001, 11667) are too large to be drawn.
Warning: Filter will not render. The DisplayObject's filtered dimensions (20219, 10219) are too large to be drawn.
Warning: Filter will not render. The DisplayObject's filtered dimensions (21001, 11667) are too large to be drawn.
Warning: Filter will not render. The DisplayObject's filtered dimensions (20219, 10219) are too large to be drawn.
Warning: Filter will not render. The DisplayObject's filtered dimensions (21001, 11667) are too large to be drawn.
Warning: Filter will not render. The DisplayObject's filtered dimensions (20219, 10219) are too large to be drawn.
private function printFactuur():void {
aPagesToPrint = [];
var str:String;
//---------------------------------------- R E K E N I N G ---------------------------------
var s:Sprite = new Sprite();
createSheet(s);
var tfAdresKlant:TextField = new TextField();
tfAdresKlant.defaultTextFormat = Main.fmtPrintLeft;
tfAdresKlant.width = s.width;
tfAdresKlant.multiline = true;
str = klant_txt.text;
if (project_contactpersoon_txt.text != "") {
str += "\nT.a.v. "+ project_contactpersoon_txt.text;
}
tfAdresKlant.text = str;
tfAdresKlant.height = tfAdresKlant.textHeight+eenRegelHoogte;
tfAdresKlant.y = 160;
s.addChild(tfAdresKlant);
var tfAdresDeVest:TextField = new TextField();
tfAdresDeVest.defaultTextFormat = Main.fmtPrintRight;
tfAdresDeVest.width = s.width;
tfAdresDeVest.multiline = true;
str = Main.vo.config.naamdirecteur + "\n" + Main.vo.config.adres + "\n" + Main.vo.config.postcode + " " + Main.vo.config.woonplaats + "\nTelefoon: " + Main.vo.config.telefoon + "\nFax: " + Main.vo.config.fax + "\nEmail: " + Main.vo.config.email + "\n" + Main.vo.config.website;
tfAdresDeVest.text = str;
tfAdresDeVest.height = tfAdresDeVest.textHeight+eenRegelHoogte;
tfAdresDeVest.y = tfAdresKlant.y;
s.addChild(tfAdresDeVest);
var tfBetreft:TextField = new TextField();
tfBetreft.defaultTextFormat = Main.fmtPrintLeft;
tfBetreft.width = s.width;
tfBetreft.multiline = true;
str = "Datum:\t\t" + Main.vo.aCurrentProject["project_datum"] +"\n\n";
str += "Rekening:\t" + Main.vo.aCurrentProject["factuur_nummer"] + "\n\n\n";
str += "Werk:\t\t" + Main.vo.aCurrentProject["project_omschrijving"] + "\n";
str += "Betreft:\t" + Main.vo.aCurrentProject["project_werkzaamheden"];
if(Main.vo.aCurrentProject["project_ordernummer_klant"] != ""){
str += "\nUw order:\t" + Main.vo.aCurrentProject["project_ordernummer_klant"];
}
if (Main.vo.aCurrentProject["project_rekeningtekst"] != "") {
str += "\n\n\n"+ Main.vo.aCurrentProject["project_rekeningtekst"];
}
tfBetreft.text = str;
tfBetreft.height = tfBetreft.textHeight+eenRegelHoogte;
tfBetreft.y = tfAdresDeVest.y + tfAdresDeVest.height;
s.addChild(tfBetreft);
//TODO: MEERDERE VAKKEN MAKEN LINKS EN RECHTS MET LOOP?
var tfRekeningOverzichtLinks:TextField = new TextField();
tfRekeningOverzichtLinks.defaultTextFormat = Main.fmtPrintLeft;
tfRekeningOverzichtLinks.width = s.width;
tfRekeningOverzichtLinks.multiline = true;
/***********************************************************************
* TEXT WORDT GEVULD NADAT MATERIALEN- EN URENVERBRUIK ZIJN BEREKEND
***********************************************************************/
tfRekeningOverzichtLinks.y = tfBetreft.y +tfBetreft.height + 30;
s.addChild(tfRekeningOverzichtLinks);
var tfRekeningOverzichtRechts:TextField = new TextField();
tfRekeningOverzichtRechts.defaultTextFormat = Main.fmtPrintRight;
tfRekeningOverzichtRechts.width = s.width;
tfRekeningOverzichtRechts.multiline = true;
/***********************************************************************
* TEXT WORDT GEVULD NADAT MATERIALEN- EN URENVERBRUIK ZIJN BEREKEND
***********************************************************************/
tfRekeningOverzichtRechts.y = tfBetreft.y +tfBetreft.height + 30;
s.addChild(tfRekeningOverzichtRechts);
var tfBetaling:TextField = new TextField();
tfBetaling.defaultTextFormat = Main.fmtPrintLeft;
tfBetaling.width = s.width;
tfBetaling.multiline = true;
str = "Betaling:\t";
if(Main.vo.aCurrentProject["project_betaling_binnen"] != ""){
str += "Netto binnen " + Main.vo.aCurrentProject["project_betaling_binnen"] + " dagen na factuurdatum\n\t\t\t";
}
str += Main.vo.config.vermelding;
tfBetaling.text = str;
tfBetaling.height = tfBetaling.textHeight+eenRegelHoogte;
tfBetaling.y = 800;
s.addChild(tfBetaling);
var tfVoettekstRechts:TextField = new TextField();
tfVoettekstRechts.defaultTextFormat = Main.fmtPrintRight;
tfVoettekstRechts.width = s.width;
tfVoettekstRechts.multiline = true;
str = Main.vo.config.bank1+" "+ Main.vo.config.bankrekening1+"\n"+ Main.vo.config.bank2+" "+ Main.vo.config.bankrekening2+"\nBTW nr. "+ Main.vo.config.BTWnummer;
tfVoettekstRechts.text = str;
tfVoettekstRechts.height = tfVoettekstRechts.textHeight+eenRegelHoogte;
tfVoettekstRechts.y = tfBetaling.y;
s.addChild(tfVoettekstRechts);
var tfVoettekstLinks:TextField = new TextField();
tfVoettekstLinks.defaultTextFormat = Main.fmtPrintLeftKlein;
tfVoettekstLinks.width = s.width;
tfVoettekstLinks.multiline = true;
str = Main.vo.config.voettekst;
tfVoettekstLinks.text = str;
tfVoettekstLinks.height = tfVoettekstLinks.textHeight+eenRegelHoogte;
tfVoettekstLinks.y = 850;
s.addChild(tfVoettekstLinks);
aPagesToPrint.push(s);
//--------------------------------- M A T E R I A L E N V E R B R U I K ---------------------------
if(Main.vo.aMaterialenVerbruik.length > 0){
var m:Sprite = new Sprite();
createSheet(m);
var tfMateriaalBijlage:TextField = new TextField();
tfMateriaalBijlage.defaultTextFormat = Main.fmtPrintLeft;
tfMateriaalBijlage.width = m.width;
tfMateriaalBijlage.multiline = false;
str = "Materialen projectmatig";
tfMateriaalBijlage.text = str;
tfMateriaalBijlage.height = 2 * eenRegelHoogte;
tfMateriaalBijlage.y = 50;
m.addChild(tfMateriaalBijlage);
//kolomkoppen Materialen
var aMKolomKoppen:Array = ["Aantal", "Omschrijving", "Eenheid", "Per eenheid", "Totaal"];
var kolomBreedten:Array = [60, 300, 60, 60, 60];
var xPos:uint = 25;
for (i = 0; i < aMKolomKoppen.length; ++i) {
var tfKopM:TextField = new TextField();
tfKopM.defaultTextFormat = Main.fmtPrintKolomCenter;
tfKopM.border = true;
tfKopM.x = xPos;
tfKopM.y = 80;
tfKopM.width = kolomBreedten[i];
tfKopM.multiline = false;
tfKopM.text = aMKolomKoppen[i];
tfKopM.height = eenRegelHoogte;
xPos += tfKopM.width;
m.addChild(tfKopM);
}
var aTextFormatsM:Array = [Main.fmtPrintKolomCenter, Main.fmtPrintKolomLeft, Main.fmtPrintKolomLeft, Main.fmtPrintKolomRight, Main.fmtPrintKolomRight];
var yPos:uint = tfKopM.y + tfKopM.height;
var totaalM:Number = 0;
for (i = 0; i < Main.vo.aMaterialenVerbruik.length; ++i) {
xPos = 25;
for (var j:uint = 0; j < aMKolomKoppen.length; ++j) {
var tfM:TextField = new TextField();
tfM.defaultTextFormat = aTextFormatsM[j];
tfM.width = kolomBreedten[j];
tfM.x = xPos;
tfM.y = yPos;
tfM.multiline = false;
switch(j) {
case 0:
str = Main.vo.aMaterialenVerbruik[i]["mv_aantal"];
break;
case 1:
str = Main.vo.aMaterialenVerbruik[i]["mv_omschrijving"];
break;
case 2:
str = Main.vo.aMaterialenVerbruik[i]["mv_eenheid"];
break;
case 3:
str = Main.vo.aMaterialenVerbruik[i]["mv_prijs"];
break;
case 4:
str = "€ " + NumberStringConverter.convertNumberToString(NumberStringConverter.convertStringtoNumber(Main.vo.aMaterialenVerbruik[i]["mv_aantal"]) * NumberStringConverter.convertStringtoNumber(Main.vo.aMaterialenVerbruik[i]["mv_prijs"]));
totaalM += NumberStringConverter.convertStringtoNumber(Main.vo.aMaterialenVerbruik[i]["mv_aantal"]) * NumberStringConverter.convertStringtoNumber(Main.vo.aMaterialenVerbruik[i]["mv_prijs"])
break;
default:
trace("GEEN MATERIALEN TREFFER!!!");
}
tfM.text = String(str);
tfM.height = eenRegelHoogte;
xPos += tfM.width;
m.addChild(tfM);
}
yPos += eenRegelHoogte;
}
//totaat generaal materialenverbruik
var tfTotaalMaterialenverbruik:TextField = new TextField();
tfTotaalMaterialenverbruik.defaultTextFormat = Main.fmtPrintKolomRight;
tfTotaalMaterialenverbruik.multiline = false;
tfTotaalMaterialenverbruik.border = true;
tfTotaalMaterialenverbruik.width = 120;
tfTotaalMaterialenverbruik.text = "Totaal materialen: € " + NumberStringConverter.convertNumberToString(totaalM);
tfTotaalMaterialenverbruik.height = eenRegelHoogte;
tfTotaalMaterialenverbruik.x = 565 - tfTotaalMaterialenverbruik.width;
tfTotaalMaterialenverbruik.y = yPos;
m.addChild(tfTotaalMaterialenverbruik);
aPagesToPrint.push(m);
}
//---------------------------------------- U R E N V E R B R U I K --------------------------------
if(Main.vo.aUrenVerbruik.length > 0){
var u:Sprite = new Sprite();
createSheet(u);
var tfUrenBijlage:TextField = new TextField();
tfUrenBijlage.defaultTextFormat = Main.fmtPrintLeft;
tfUrenBijlage.width = u.width;
tfUrenBijlage.multiline = false;
str = "Uren projectmatig";
tfUrenBijlage.text = str;
tfUrenBijlage.height = 2 * eenRegelHoogte;
tfUrenBijlage.y = 50;
u.addChild(tfUrenBijlage);
//kolomkoppen Uren
var aUKolomKoppen:Array = ["Datum", "Werkzaamheden", "Uren", "Per uur", "Totaal"];
xPos = 25;
for (i = 0; i < aUKolomKoppen.length; ++i) {
var tfKopU:TextField = new TextField();
tfKopU.defaultTextFormat = Main.fmtPrintKolomCenter;
tfKopU.border = true;
tfKopU.x = xPos;
tfKopU.y = 80;
tfKopU.width = kolomBreedten[i];
tfKopU.multiline = false;
tfKopU.text = aUKolomKoppen[i];
tfKopU.height = eenRegelHoogte;
xPos += tfKopU.width;
u.addChild(tfKopU);
}
var aTextFormatsU:Array = [Main.fmtPrintKolomCenter, Main.fmtPrintKolomLeft, Main.fmtPrintKolomLeft, Main.fmtPrintKolomRight, Main.fmtPrintKolomRight];
yPos = tfKopU.y + eenRegelHoogte;
var totaalU:Number = 0;
for (i = 0; i < Main.vo.aMaterialenVerbruik.length; ++i) {
xPos = 25;
for (j = 0; j < aUKolomKoppen.length; ++j) {
var tfU:TextField = new TextField();
tfU.defaultTextFormat = aTextFormatsU[j];
tfU.width = kolomBreedten[j];
tfU.x = xPos;
tfU.y = yPos;
tfU.multiline = false;
switch(j) {
case 0:
str = Main.vo.aUrenVerbruik[i]["uv_datum"];
break;
case 1:
str = Main.vo.aUrenVerbruik[i]["uv_werkzaamheden"];
break;
case 2:
str = Main.vo.aUrenVerbruik[i]["uv_aantal"];
break;
case 3:
str = Main.vo.aUrenVerbruik[i]["uv_uurloon"];
break;
case 4:
str = "€ " + NumberStringConverter.convertNumberToString(NumberStringConverter.convertStringtoNumber(Main.vo.aUrenVerbruik[i]["uv_aantal"]) * NumberStringConverter.convertStringtoNumber(Main.vo.aUrenVerbruik[i]["uv_uurloon"]));
totaalU += NumberStringConverter.convertStringtoNumber(Main.vo.aUrenVerbruik[i]["uv_aantal"]) * NumberStringConverter.convertStringtoNumber(Main.vo.aUrenVerbruik[i]["uv_uurloon"]);
break;
default:
trace("GEEN UREN TREFFER!!!");
}
tfU.text = String(str);
tfU.height = eenRegelHoogte;
xPos += tfU.width;
u.addChild(tfU);
}
yPos += eenRegelHoogte;
}
//totaat generaal Urenverbruik
var tfTotaalUrenverbruik:TextField = new TextField();
tfTotaalUrenverbruik.defaultTextFormat = Main.fmtPrintKolomRight;
tfTotaalUrenverbruik.multiline = false;
tfTotaalUrenverbruik.border = true;
tfTotaalUrenverbruik.width = 120;
tfTotaalUrenverbruik.text = "Totaal Uren: € " + NumberStringConverter.convertNumberToString(totaalU);
tfTotaalUrenverbruik.height = eenRegelHoogte;
tfTotaalUrenverbruik.x = 565 - tfTotaalUrenverbruik.width;
tfTotaalUrenverbruik.y = yPos;
u.addChild(tfTotaalUrenverbruik);
aPagesToPrint.push(u);
}
/***********************************************************************
* HIER WORDT TEXT GEVULD OMDAT MATERIALEN- EN URENVERBRUIK BEREKEND ZIJN
***********************************************************************/
//tfRekeningOverzichtLinks en tfRekeningOverzichtRechts moeten vanaf hier evenveel regels hebben
var rekeningTotaal:Number=0;
if (Main.vo.aCurrentProject["project_aanneemsom"] != "") {
tfRekeningOverzichtLinks.appendText("Prijs conform bestelling")
tfRekeningOverzichtRechts.appendText(Main.vo.aCurrentProject["project_aanneemsom"]);
rekeningTotaal = NumberStringConverter.convertStringtoNumber(Main.vo.aCurrentProject["project_aanneemsom"]);
}
if (m && bPrintAlles) {
tfRekeningOverzichtLinks.appendText("\n\nMaterialen bovengenoemd project, in bedragen");
tfRekeningOverzichtRechts.appendText("\n\n" + NumberStringConverter.convertNumberToString(totaalM));
rekeningTotaal = totaalM;
}
if (u && bPrintAlles) {
tfRekeningOverzichtLinks.appendText("\n\nUren bovengenoemd project, in bedragen");
tfRekeningOverzichtRechts.appendText("\n\n" + NumberStringConverter.convertNumberToString(totaalU));
rekeningTotaal += totaalU;
}
tfRekeningOverzichtLinks.appendText("\n\n\n\n");
tfRekeningOverzichtRechts.appendText("\n\n\n\n" + NumberStringConverter.convertNumberToString(rekeningTotaal));
var BTWTotaal:Number = rekeningTotaal * NumberStringConverter.convertStringtoNumber(Main.vo.aCurrentProject["project_BTW"]) / 100;
tfRekeningOverzichtLinks.appendText("\nBTW " + Main.vo.aCurrentProject["project_BTW"] + " %");
tfRekeningOverzichtRechts.appendText("\n" + NumberStringConverter.convertNumberToString(BTWTotaal));
tfRekeningOverzichtLinks.appendText("\nTotaal");
tfRekeningOverzichtRechts.appendText("\n€ " + NumberStringConverter.convertNumberToString(rekeningTotaal + BTWTotaal));
tfRekeningOverzichtLinks.height = tfRekeningOverzichtLinks.textHeight+eenRegelHoogte;
tfRekeningOverzichtRechts.height = tfRekeningOverzichtRechts.textHeight+eenRegelHoogte;
printOnePerPage();
//TODO: drawtoScreen uitzetten alvorens life te zetten
//drawtoScreen();
}//end printFactuur
private function createSheet(sheet:Sprite):void {
sheet.graphics.beginFill(0xFFFFFF);
sheet.graphics.drawRect(0, 0, 595, 900);
sheet.graphics.endFill();
}
private function printOnePerPage():void {
var pj:PrintJob = new PrintJob();
var pagesToPrint:uint = 0;
if(pj.start()) {
if(pj.orientation == PrintJobOrientation.LANDSCAPE) {
throw new Error("Without embedding fonts you must print one sheet per page with an orientation of portrait.");
}
var aantal:uint=0;
if(!bPrintAlles) {
aantal = 1; //print alleen rekeningblad, bij aanneemsom anders dan ""
}else{
aantal = aPagesToPrint.length;
}
for (i = 0; i < aantal; ++i) {
aPagesToPrint[i].width = pj.pageWidth;
aPagesToPrint[i].height = pj.pageHeight;
try {
pj.addPage(aPagesToPrint[i]);
pagesToPrint++;
}
catch(e:Error) {
// do nothing
}
}
if(pagesToPrint > 0) {
pj.send();
}
}
}
10/11/2011 10:57:55 PM
some times filters applied in a printable object can cause this error. Remove any filters then print it.
10/12/2011 9:34:35 AM
Titan,
Thank you, but the problem is I didn't use any filters or don't know where the referred filters could be? Is there a way to detect or disable any (hidden?) filters?
10/13/2011 2:34:09 AM
see this thread I hope its the same problem u are facing. try the accepted answer
http://askmeflash.com/qdetail/1596/print-job-issue-in-flash-not-printing-complete-pages
10/14/2011 1:37:50 AM
Thanks Andrid!
This is not the case in my situation!