header
ask question
Click here to ask Question Now Its free No registration required. Flash, Flex, Flash Media Server, ActionScript,Adobe Air. Most questions receive a response in an hour.
Cor
Points:0
Posts:0

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(); 
				}
			}
		}





1
Titan
Points: 0
Posts:0
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.

2
Cor
Points: 0
Posts:0
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?

3
Andrid
Points: 720
Posts:0
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

4
Cor
Points: 0
Posts:0
10/14/2011 1:37:50 AM



Thanks Andrid!
This is not the case in my situation!


Post your Reply
Name  

Email

Type your Reply or Answer

Are you human? What is 3+0 



Members Login

Email  
Password
Forgot Password





This website focus on: Flash | Flex | FMS | RED5 | WOWZA | Flash Media Server | Adobe AIR | ActionScript,Flash Solutions | Flash Question | Flash Answers | Flash Developers | Flash Problem, Flash Help, Flash bugs, Flash workaround | Flash Blog | Flex Question Answers | Flash Forum | Flex Development | Actionscript development | Flash development | Adobe AIR development
Copyright © 2008 AskMeFlash.com. All rights reserved. Privacy Policy | Terms & Conditions